From e7b32b8251f0f29f36bb1f309d324bf49555f73a Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 5 Apr 2022 10:31:50 +0800 Subject: [PATCH] change: do not send GA events in CI environment --- hrp/internal/sdk/client_test.go | 2 +- hrp/internal/sdk/init.go | 5 +++++ httprunner/utils.py | 13 +++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/hrp/internal/sdk/client_test.go b/hrp/internal/sdk/client_test.go index 905b5d13..8c31cf47 100644 --- a/hrp/internal/sdk/client_test.go +++ b/hrp/internal/sdk/client_test.go @@ -10,7 +10,7 @@ func TestSendEvents(t *testing.T) { Action: "SendEvents", Value: 123, } - err := gaClient.SendEvent(event) + err := SendEvent(event) if err != nil { t.Fatal(err) } diff --git a/hrp/internal/sdk/init.go b/hrp/internal/sdk/init.go index 7d36e710..19be945c 100644 --- a/hrp/internal/sdk/init.go +++ b/hrp/internal/sdk/init.go @@ -2,6 +2,7 @@ package sdk import ( "fmt" + "os" "github.com/denisbrodbeck/machineid" "github.com/getsentry/sentry-go" @@ -46,5 +47,9 @@ func init() { } func SendEvent(e IEvent) error { + if os.Getenv("CI") == "true" { + // do not send GA events in CI environment + return nil + } return gaClient.SendEvent(e) } diff --git a/httprunner/utils.py b/httprunner/utils.py index fa8f77bc..68d72163 100644 --- a/httprunner/utils.py +++ b/httprunner/utils.py @@ -2,6 +2,7 @@ import collections import copy import itertools import json +import os import os.path import platform import uuid @@ -40,8 +41,13 @@ class GAClient(object): 'cid': uuid.getnode(), # Anonymous Client ID 'ua': f'HttpRunner/{__version__}', } + # do not send GA events in CI environment + self.__is_ci = os.getenv("CI") == "true" def track_event(self, category: Text, action: Text, value: int = 0): + if self.__is_ci: + return + data = { 't': 'event', # Event hit type = event 'ec': category, # Required. Event Category. @@ -51,11 +57,14 @@ class GAClient(object): } data.update(self.common_params) try: - self.http_client.post(self.report_url, data=data) + self.http_client.post(self.report_url, data=data, timeout=5) except Exception: # ProxyError, SSLError, ConnectionError pass def track_user_timing(self, category: Text, variable: Text, duration: int): + if self.__is_ci: + return + data = { 't': 'timing', # Event hit type = timing 'utc': category, # Required. user timing category. e.g. jsonLoader @@ -65,7 +74,7 @@ class GAClient(object): } data.update(self.common_params) try: - self.http_client.post(self.report_url, data=data) + self.http_client.post(self.report_url, data=data, timeout=5) except Exception: # ProxyError, SSLError, ConnectionError pass