class TestBase(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource() @mock.patch('solitude.base._log_cef') def test_cef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request, api_name='foo', resource_name='bar') args = log_cef.call_args[0] eq_(args[0], 'foo:bar') kw = log_cef.call_args[1] eq_(kw['msg'], 'foo:bar') eq_(kw['config']['cef.product'], 'Solitude') @mock.patch('solitude.base.log_cef') def test_unknowncef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request) eq_(log_cef.call_args[0][0], 'unknown:unknown')
class TestError(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource() def test_error(self): try: 1/0 except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data['error_code'], 'ZeroDivisionError') eq_(data['error_message'], 'integer division or modulo by zero') def test_paypal_error(self): try: raise PaypalError(id=520003, message='wat?') except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data['error_code'], '520003') eq_(data['error_message'], 'wat?')
class TestError(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource() def test_error(self): res = None try: 1 / 0 except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data['error_code'], 'ZeroDivisionError') eq_(data['error_message'], 'integer division or modulo by zero') def test_paypal_error(self): res = None try: raise PaypalError(id=520003, message='wat?') except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data['error_code'], '520003') eq_(data['error_message'], 'wat?')
class TestError(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get("/") self.resource = Resource() def test_error(self): res = None try: 1 / 0 except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data["error_code"], "ZeroDivisionError") eq_(data["error_message"], "integer division or modulo by zero") def test_paypal_error(self): res = None try: raise PaypalError(id=520003, message="wat?") except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data["error_code"], "520003") eq_(data["error_message"], "wat?")
class TestBase(test.TestCase): def setUp(self): self.request = test.RequestFactory().get( '/', CONTENT_TYPE='application/json') self.resource = Resource() @mock.patch('solitude.base._log_cef') def test_cef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request, api_name='foo', resource_name='bar') args = log_cef.call_args[0] eq_(args[0], 'foo:bar') kw = log_cef.call_args[1] eq_(kw['msg'], 'foo:bar') eq_(kw['config']['cef.product'], 'Solitude') @mock.patch('solitude.base.log_cef') def test_unknowncef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request) eq_(log_cef.call_args[0][0], 'unknown:unknown') def test_build_filters_fails(self): with self.assertRaises(InvalidFilterError): self.resource.build_filters({'foo': 'bar'}) def test_build_filters_passes(self): check = mock.Mock() check.return_value = ['foo'] self.resource.check_filtering = check self.resource.fields = ['foo'] eq_(self.resource.build_filters({'foo': 'bar'}), {'foo__exact': 'bar'}) def test_deserialize(self): self.request._body = '' eq_(self.resource.deserialize_body(self.request), {}) self.request._body = json.dumps({'foo': 'bar'}) eq_(self.resource.deserialize_body(self.request)['foo'], 'bar') def test_etag_func(self): assert etag_func(None, 'foo') is None etag_value = 123456789 data = mock.Mock() data.obj.etag = etag_value eq_(etag_func(None, data), md5(str(etag_value)).hexdigest()) data = {} data['objects'] = [] eq_(etag_func(None, data), None) data = {} data['objects'] = [mock.Mock(etag=etag_value)] eq_(etag_func(None, data), md5(str(etag_value)).hexdigest())
class TestBase(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get( '/', CONTENT_TYPE='application/json') self.resource = Resource() @mock.patch('solitude.base._log_cef') def test_cef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request, api_name='foo', resource_name='bar') args = log_cef.call_args[0] eq_(args[0], 'foo:bar') kw = log_cef.call_args[1] eq_(kw['msg'], 'foo:bar') eq_(kw['config']['cef.product'], 'Solitude') @mock.patch('solitude.base.log_cef') def test_unknowncef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request) eq_(log_cef.call_args[0][0], 'unknown:unknown') def test_build_filters_fails(self): with self.assertRaises(InvalidFilterError): self.resource.build_filters({'foo': 'bar'}) def test_build_filters_passes(self): check = mock.Mock() check.return_value = ['foo'] self.resource.check_filtering = check self.resource.fields = ['foo'] eq_(self.resource.build_filters({'foo': 'bar'}), {'foo__exact': 'bar'}) def test_deserialize(self): self.request._body = '' eq_(self.resource.deserialize_body(self.request), {}) self.request._body = json.dumps({'foo': 'bar'}) eq_(self.resource.deserialize_body(self.request)['foo'], 'bar') def test_etag_func(self): assert etag_func(None, 'foo') is None etag_value = 123456789 data = mock.Mock() data.obj.etag = etag_value eq_(etag_func(None, data), md5(str(etag_value)).hexdigest()) data = {} data['objects'] = [] eq_(etag_func(None, data), None) data = {} data['objects'] = [mock.Mock(etag=etag_value)] eq_(etag_func(None, data), md5(str(etag_value)).hexdigest())
class TestBase(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get("/", CONTENT_TYPE="application/json") self.resource = Resource() @mock.patch("solitude.base._log_cef") def test_cef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch("POST", self.request, api_name="foo", resource_name="bar") args = log_cef.call_args[0] eq_(args[0], "foo:bar") kw = log_cef.call_args[1] eq_(kw["msg"], "foo:bar") eq_(kw["config"]["cef.product"], "Solitude") @mock.patch("solitude.base.log_cef") def test_unknowncef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch("POST", self.request) eq_(log_cef.call_args[0][0], "unknown:unknown") def test_build_filters_fails(self): with self.assertRaises(InvalidFilterError): self.resource.build_filters({"foo": "bar"}) def test_build_filters_passes(self): check = mock.Mock() check.return_value = ["foo"] self.resource.check_filtering = check self.resource.fields = ["foo"] eq_(self.resource.build_filters({"foo": "bar"}), {"foo__exact": "bar"}) def test_deserialize(self): self.request._body = "" eq_(self.resource.deserialize_body(self.request), {}) self.request._body = json.dumps({"foo": "bar"}) eq_(self.resource.deserialize_body(self.request)["foo"], "bar") def test_etag_func(self): assert etag_func(None, "foo") is None etag_value = 123456789 data = mock.Mock() data.obj.etag = etag_value eq_(etag_func(None, data), md5(str(etag_value)).hexdigest()) data = {} data["objects"] = [] eq_(etag_func(None, data), None) data = {} data["objects"] = [mock.Mock(etag=etag_value)] eq_(etag_func(None, data), md5(str(etag_value)).hexdigest())
class TestBase(test_utils.TestCase): def setUp(self): self.request = test_utils.RequestFactory().get('/', CONTENT_TYPE='application/json') self.resource = Resource() self.resource._meta.serializer = JWTSerializer() @mock.patch('solitude.base._log_cef') def test_cef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request, api_name='foo', resource_name='bar') args = log_cef.call_args[0] eq_(args[0], 'foo:bar') kw = log_cef.call_args[1] eq_(kw['msg'], 'foo:bar') eq_(kw['config']['cef.product'], 'Solitude') @mock.patch('solitude.base.log_cef') def test_unknowncef(self, log_cef): self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request) eq_(log_cef.call_args[0][0], 'unknown:unknown') def test_build_filters_fails(self): with self.assertRaises(InvalidFilterError): self.resource.build_filters({'foo': 'bar'}) def test_build_filters_passes(self): check = mock.Mock() check.return_value = ['foo'] self.resource.check_filtering = check self.resource.fields = ['foo'] eq_(self.resource.build_filters({'foo': 'bar'}), {'foo__exact': 'bar'}) def test_deserialize(self): self.request._body = '' eq_(self.resource.deserialize_body(self.request), {}) self.request._body = json.dumps({'foo': 'bar'}) eq_(self.resource.deserialize_body(self.request)['foo'], 'bar')
class TestMetlogLogging(test_utils.TestCase): """ Test that the solitude settings routes all logging. """ def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource() settings.METLOG.sender.msgs.clear() @mock.patch('metlog.client.MetlogClient.metlog') def test_cef(self, mock_metlog): """ Weak check to make sure that the cef message was formatted properly. """ self.resource.method_check = mock.Mock() with self.assertRaises(ImmediateHttpResponse): self.resource.dispatch('POST', self.request, api_name='foo', resource_name='bar') args = mock_metlog.call_args_list[0] payload = args[1]['payload'] assert 'msg=foo:bar' in payload assert 'Solitude' in payload @mock.patch('metlog.client.MetlogClient.metlog') @mock.patch.object(settings, 'STATSD_CLIENT', 'django_statsd.clients.moz_metlog') def test_statsd(self, mock_metlog): """ Weak test to see we've got statsd messages passed into metlog. """ statsd_client().incr('solitude.test.counter') args = mock_metlog.call_args eq_(args[0], ('counter', None, None, None, '1', {'rate': 1, 'name': 'solitude.test.counter'}))
class TestError(test.TestCase): def setUp(self): self.request = test.RequestFactory().get('/') self.resource = Resource() def test_error(self): res = None try: 1 / 0 except Exception as error: res = self.resource._handle_500(self.request, error) data = json.loads(res.content) eq_(data['error_code'], 'ZeroDivisionError') eq_(data['error_message'], 'integer division or modulo by zero')
def setUp(self): self.request = test_utils.RequestFactory().get('/', CONTENT_TYPE='application/json') self.resource = Resource() self.resource._meta.serializer = JWTSerializer()
def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource()
def setUp(self): self.request = test_utils.RequestFactory().get('/', CONTENT_TYPE='application/json') self.resource = Resource()
def setUp(self): self.request = test_utils.RequestFactory().get('/') self.resource = Resource() settings.METLOG.sender.msgs.clear()
def setUp(self): self.request = test_utils.RequestFactory().get( '/', CONTENT_TYPE='application/json') self.resource = Resource()