@@ -26,67 +26,67 @@ def _make_credentials():
2626
2727class TestClient (unittest .TestCase ):
2828
29+ PROJECT = 'PROJECT'
30+ SERVICE = 'SERVICE'
31+ VERSION = 'myversion'
32+
2933 @staticmethod
3034 def _get_target_class ():
3135 from google .cloud .error_reporting .client import Client
3236
3337 return Client
3438
35- def _getHttpContext (self ):
36- from google .cloud .error_reporting .client import HTTPContext
37-
38- return HTTPContext
39-
4039 def _make_one (self , * args , ** kw ):
4140 return self ._get_target_class ()(* args , ** kw )
4241
43- def _makeHTTP (self , * args , ** kw ):
44- return self . _getHttpContext ()( * args , ** kw )
42+ def _make_http (self , * args , ** kw ):
43+ from google . cloud . error_reporting . client import HTTPContext
4544
46- PROJECT = 'PROJECT'
47- SERVICE = 'SERVICE'
48- VERSION = 'myversion'
45+ return HTTPContext (* args , ** kw )
4946
5047 @mock .patch (
5148 'google.cloud.error_reporting.client._determine_default_project' )
52- def test_ctor_default (self , _ ):
53- CREDENTIALS = _make_credentials ()
54- target = self ._make_one (credentials = CREDENTIALS )
55- self .assertEqual (target .service , target .DEFAULT_SERVICE )
56- self .assertEqual (target .version , None )
49+ def test_ctor_default (self , default_mock ):
50+ credentials = _make_credentials ()
51+ client = self ._make_one (credentials = credentials )
52+ self .assertEqual (client .service , client .DEFAULT_SERVICE )
53+ self .assertEqual (client .version , None )
54+ default_mock .assert_called_once_with ()
5755
5856 def test_ctor_params (self ):
59- CREDENTIALS = _make_credentials ()
60- target = self ._make_one (project = self .PROJECT ,
61- credentials = CREDENTIALS ,
57+ credentials = _make_credentials ()
58+ client = self ._make_one (project = self .PROJECT ,
59+ credentials = credentials ,
6260 service = self .SERVICE ,
6361 version = self .VERSION )
64- self .assertEqual (target .service , self .SERVICE )
65- self .assertEqual (target .version , self .VERSION )
62+ self .assertEqual (client .service , self .SERVICE )
63+ self .assertEqual (client .version , self .VERSION )
6664
6765 def test_report_exception_with_gax (self ):
68- CREDENTIALS = _make_credentials ()
69- target = self ._make_one (project = self .PROJECT ,
70- credentials = CREDENTIALS )
66+ credentials = _make_credentials ()
67+ client = self ._make_one (project = self .PROJECT ,
68+ credentials = credentials )
7169
7270 patch = mock .patch (
7371 'google.cloud.error_reporting.client.make_report_error_api' )
7472 with patch as make_api :
7573 try :
7674 raise NameError
7775 except NameError :
78- target .report_exception ()
76+ client .report_exception ()
7977 payload = make_api .return_value .report_error_event .call_args [0 ][0 ]
78+ make_api .assert_called_once_with (client )
79+
8080 self .assertEqual (payload ['serviceContext' ], {
81- 'service' : target .DEFAULT_SERVICE ,
81+ 'service' : client .DEFAULT_SERVICE ,
8282 })
8383 self .assertIn ('test_report' , payload ['message' ])
8484 self .assertIn ('test_client.py' , payload ['message' ])
8585
8686 def test_report_exception_wo_gax (self ):
87- CREDENTIALS = _make_credentials ()
88- target = self ._make_one (project = self .PROJECT ,
89- credentials = CREDENTIALS ,
87+ credentials = _make_credentials ()
88+ client = self ._make_one (project = self .PROJECT ,
89+ credentials = credentials ,
9090 use_gax = False )
9191 patch = mock .patch (
9292 'google.cloud.error_reporting.client._ErrorReportingLoggingAPI'
@@ -95,43 +95,46 @@ def test_report_exception_wo_gax(self):
9595 try :
9696 raise NameError
9797 except NameError :
98- target .report_exception ()
98+ client .report_exception ()
9999 mock_report = _error_api .return_value .report_error_event
100100 payload = mock_report .call_args [0 ][0 ]
101101
102102 self .assertEqual (payload ['serviceContext' ], {
103- 'service' : target .DEFAULT_SERVICE ,
103+ 'service' : client .DEFAULT_SERVICE ,
104104 })
105105 self .assertIn ('test_report' , payload ['message' ])
106106 self .assertIn ('test_client.py' , payload ['message' ])
107- self .assertIsNotNone (target .report_errors_api )
107+ self .assertIsNotNone (client .report_errors_api )
108108
109109 @mock .patch ('google.cloud.error_reporting.client.make_report_error_api' )
110110 def test_report_exception_with_service_version_in_constructor (
111- self , make_client ):
112- CREDENTIALS = _make_credentials ()
113- SERVICE = "notdefault"
114- VERSION = "notdefaultversion"
115- target = self ._make_one (project = self .PROJECT ,
116- credentials = CREDENTIALS ,
117- service = SERVICE ,
118- version = VERSION )
119-
120- http_context = self ._makeHTTP (method = "GET" , response_status_code = 500 )
121- 122-
123- client = mock .Mock ()
124- make_client .return_value = client
111+ self , make_api ):
112+ credentials = _make_credentials ()
113+ service = 'notdefault'
114+ version = 'notdefaultversion'
115+ client = self ._make_one (project = self .PROJECT ,
116+ credentials = credentials ,
117+ service = service ,
118+ version = version )
119+
120+ http_context = self ._make_http (
121+ method = 'GET' , response_status_code = 500 )
122+ 123+
124+ error_api = mock .Mock (spec = ['report_error_event' ])
125+ make_api .return_value = error_api
125126
126127 try :
127128 raise NameError
128129 except NameError :
129- target .report_exception (http_context = http_context , user = USER )
130+ client .report_exception (http_context = http_context , user = user )
131+
132+ make_api .assert_called_once_with (client )
130133
131- payload = client .report_error_event .call_args [0 ][0 ]
134+ payload = error_api .report_error_event .call_args [0 ][0 ]
132135 self .assertEqual (payload ['serviceContext' ], {
133- 'service' : SERVICE ,
134- 'version' : VERSION
136+ 'service' : service ,
137+ 'version' : version
135138 })
136139 self .assertIn (
137140 'test_report_exception_with_service_version_in_constructor' ,
@@ -141,23 +144,24 @@ def test_report_exception_with_service_version_in_constructor(
141144 payload ['context' ]['httpContext' ]['responseStatusCode' ], 500 )
142145 self .assertEqual (
143146 payload ['context' ]['httpContext' ]['method' ], 'GET' )
144- self .assertEqual (payload ['context' ]['user' ], USER )
147+ self .assertEqual (payload ['context' ]['user' ], user )
145148
146149 @mock .patch ('google.cloud.error_reporting.client.make_report_error_api' )
147- def test_report (self , make_client ):
148- CREDENTIALS = _make_credentials ()
149- target = self ._make_one (project = self .PROJECT ,
150- credentials = CREDENTIALS )
150+ def test_report (self , make_api ):
151+ credentials = _make_credentials ()
152+ client = self ._make_one (project = self .PROJECT ,
153+ credentials = credentials )
151154
152- client = mock .Mock ()
153- make_client .return_value = client
155+ error_api = mock .Mock (spec = [ 'report_error_event' ] )
156+ make_api .return_value = error_api
154157
155- MESSAGE = 'this is an error'
156- target .report (MESSAGE )
158+ message = 'this is an error'
159+ client .report (message )
157160
158- payload = client .report_error_event .call_args [0 ][0 ]
161+ payload = error_api .report_error_event .call_args [0 ][0 ]
162+ make_api .assert_called_once_with (client )
159163
160- self .assertEqual (payload ['message' ], MESSAGE )
164+ self .assertEqual (payload ['message' ], message )
161165 report_location = payload ['context' ]['reportLocation' ]
162166 self .assertIn ('test_client.py' , report_location ['filePath' ])
163167 self .assertEqual (report_location ['functionName' ], 'test_report' )
0 commit comments