Exemplo n.º 1
0
    def test_not_200_ValueError(self):
        # loop over a lot of status codes except 200
        for status in chain(range(0, 200, 20), range(201, 600, 20)):
            self.get.reset_mock()
            self.get().status_code = status

            with self.assertRaises(ValueError):
                do_api_call("")

            assert self.get.called
Exemplo n.º 2
0
    def test_not_200_ValueError(self):
        # loop over a lot of status codes except 200
        for status in chain(range(0, 200, 20), range(201, 600, 20)):
            self.get.reset_mock()
            self.get().status_code = status

            with self.assertRaises(ValueError):
                do_api_call("")

            assert self.get.called
Exemplo n.º 3
0
 def assert_token_passed(self, tokens, method):
     for token in tokens:
         self.set_token(token)
         expected_header = {'Authorization': "Token token={}".format(token)}
         do_api_call("", method=method)
         if method == 'get':
             self.assertEqual(self.get.call_args[1]['headers'],
                              expected_header)
         elif method == 'post':
             self.assertEqual(self.post.call_args[1]['headers'],
                              expected_header)
         else:
             raise ValueError("`method` must be one of ['get', 'post']!")
Exemplo n.º 4
0
 def assert_token_passed(self, tokens, method):
     for token in tokens:
         self.set_token(token)
         expected_header = {'Authorization': "Token token={}".format(token)}
         do_api_call("", method=method)
         if method == 'get':
             self.assertEqual(self.get.call_args[1]['headers'],
                              expected_header)
         elif method == 'post':
             self.assertEqual(self.post.call_args[1]['headers'],
                              expected_header)
         else:
             raise ValueError("`method` must be one of ['get', 'post']!")
Exemplo n.º 5
0
    def test_unknown_status_code_logs(self):
        unknown_codes = set(range(200, 500, 10)) - self.KNOWN_STATUS_CODES
        logger = logging.getLogger('sipa.model.gerok.user')

        for status in unknown_codes:
            self.get.reset_mock()
            self.get().status_code = status

            with self.subTest(status=status), \
                    self.assertLogs(logger, level='WARNING') as cm:
                do_api_call("")

            self.assertEqual(len(cm.output), 1)
            self.assertIn('HTTP status', cm.output.pop())
Exemplo n.º 6
0
    def test_unknown_status_code_logs(self):
        unknown_codes = set(range(200, 500, 10)) - self.KNOWN_STATUS_CODES
        logger = logging.getLogger('sipa.model.gerok.user')

        for status in unknown_codes:
            self.get.reset_mock()
            self.get().status_code = status

            with self.subTest(status=status), \
                    self.assertLogs(logger, level='WARNING') as cm:
                do_api_call("")

            self.assertEqual(len(cm.output), 1)
            self.assertIn('HTTP status', cm.output.pop())
Exemplo n.º 7
0
 def test_json_parsed(self):
     sample_dicts = [
         {},
         {'foo': 'bar'},
         {'foo': 'bar', 'dict': {'baz': 'shizzle'}, 'int': 2},
     ]
     for d in sample_dicts:
         self.get()._content = json.dumps(d).encode()
         self.assertEqual(do_api_call(""), d)
Exemplo n.º 8
0
 def test_json_parsed(self):
     sample_dicts = [
         {},
         {
             'foo': 'bar'
         },
         {
             'foo': 'bar',
             'dict': {
                 'baz': 'shizzle'
             },
             'int': 2
         },
     ]
     for d in sample_dicts:
         self.get()._content = json.dumps(d).encode()
         self.assertEqual(do_api_call(""), d)
Exemplo n.º 9
0
    def test_correct_url_called(self):
        do_api_call("")

        # assert that the call only got the positional args `(self.url,)`
        self.assertEqual(self.get.call_args[0], (self.url, ))
Exemplo n.º 10
0
 def test_empty_request(self):
     self.assertEqual(do_api_call(""), "")
     assert self.get.called
Exemplo n.º 11
0
 def test_invalid_method(self):
     for method in ['GET', 'POST', 'nothing_of_both', 'something_else']:
         with self.assertRaises(ValueError):
             do_api_call("", method=method, postdata=None)
         self.get.assert_not_called()
         self.post.assert_not_called()
Exemplo n.º 12
0
 def test_invalid_method(self):
     for method in ['GET', 'POST', 'nothing_of_both', 'something_else']:
         with self.assertRaises(ValueError):
             do_api_call("", method=method, postdata=None)
         self.get.assert_not_called()
         self.post.assert_not_called()
Exemplo n.º 13
0
 def test_post_called(self):
     do_api_call("", method='post', postdata=None)
     self.get.assert_not_called()
     self.assertEqual(self.post.called, True)
Exemplo n.º 14
0
    def test_correct_url_called(self):
        do_api_call("")

        # assert that the call only got the positional args `(self.url,)`
        self.assertEqual(self.get.call_args[0], (self.url,))
Exemplo n.º 15
0
 def test_empty_request(self):
     self.assertEqual(do_api_call(""), "")
     assert self.get.called
Exemplo n.º 16
0
 def call_gerok_api():
     do_api_call('do_something')
Exemplo n.º 17
0
 def test_post_called(self):
     do_api_call("", method='post', postdata=None)
     self.get.assert_not_called()
     self.assertEqual(self.post.called, True)
Exemplo n.º 18
0
 def test_postdata_passed(self):
     postdata = {'foo': "bar"}
     do_api_call("", method='post', postdata=postdata)
     self.assertEqual(self.post.call_args[1]['data'], postdata)
Exemplo n.º 19
0
 def test_postdata_passed(self):
     postdata = {'foo': "bar"}
     do_api_call("", method='post', postdata=postdata)
     self.assertEqual(self.post.call_args[1]['data'], postdata)
Exemplo n.º 20
0
 def call_gerok_api():
     do_api_call('do_something')