def test_buglist(self): """Test buglist API call""" # Set up a mock HTTP server body = read_file('data/bugzilla_version.xml') httpretty.register_uri(httpretty.GET, BUGZILLA_METADATA_URL, body=body, status=200) body = read_file('data/bugzilla_buglist.csv') httpretty.register_uri(httpretty.GET, BUGZILLA_BUGLIST_URL, body=body, status=200) # Call API without args client = BugzillaClient(BUGZILLA_SERVER_URL) response = client.buglist() self.assertEqual(client.version, '4.2.1+') self.assertEqual(response, body) # Check request params expected = { 'ctype': ['csv'], 'order': ['changeddate'], 'chfieldfrom': ['1970-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected) # Call API with from_date response = client.buglist(from_date=datetime.datetime(2015, 1, 1)) self.assertEqual(response, body) # Check request params expected = { 'ctype': ['csv'], 'order': ['changeddate'], 'chfieldfrom': ['2015-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected)
def test_not_found_version(self): """Test if it fails when the server version is not found""" # Set up a mock HTTP server body = read_file('data/bugzilla_no_version.xml') httpretty.register_uri(httpretty.GET, BUGZILLA_METADATA_URL, body=body, status=200) with self.assertRaises(BackendError): client = BugzillaClient(BUGZILLA_SERVER_URL) client.buglist()
def test_buglist(self): """Test buglist API call""" # Set up a mock HTTP server body = read_file('data/bugzilla_version.xml') httpretty.register_uri(httpretty.GET, BUGZILLA_METADATA_URL, body=body, status=200) body = read_file('data/bugzilla_buglist.csv') httpretty.register_uri(httpretty.GET, BUGZILLA_BUGLIST_URL, body=body, status=200) # Call API without args client = BugzillaClient(BUGZILLA_SERVER_URL) response = client.buglist() self.assertEqual(client.version, '4.2.1+') self.assertEqual(response, body) # Check request params expected = { 'ctype' : ['csv'], 'order' : ['changeddate'], 'chfieldfrom' : ['1970-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected) # Call API with from_date response = client.buglist(from_date=datetime.datetime(2015, 1, 1)) self.assertEqual(response, body) # Check request params expected = { 'ctype' : ['csv'], 'order' : ['changeddate'], 'chfieldfrom' : ['2015-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected)
def test_buglist_old_version(self): """Test buglist API call when the version of the server is less than 3.3""" # Set up a mock HTTP server body = read_file('data/bugzilla_version.xml') httpretty.register_uri(httpretty.GET, BUGZILLA_METADATA_URL, body=body, status=200) body = read_file('data/bugzilla_buglist.csv') httpretty.register_uri(httpretty.GET, BUGZILLA_BUGLIST_URL, body=body, status=200) # Call API without args client = BugzillaClient(BUGZILLA_SERVER_URL) client.version = '3.2.3' response = client.buglist() self.assertEqual(response, body) # Check request params expected = { 'ctype': ['csv'], 'order': ['Last Changed'], 'chfieldfrom': ['1970-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected)
def test_buglist_old_version(self): """Test buglist API call when the version of the server is less than 3.3""" # Set up a mock HTTP server body = read_file('data/bugzilla_version.xml') httpretty.register_uri(httpretty.GET, BUGZILLA_METADATA_URL, body=body, status=200) body = read_file('data/bugzilla_buglist.csv') httpretty.register_uri(httpretty.GET, BUGZILLA_BUGLIST_URL, body=body, status=200) # Call API without args client = BugzillaClient(BUGZILLA_SERVER_URL) client.version = '3.2.3' response = client.buglist() self.assertEqual(response, body) # Check request params expected = { 'ctype' : ['csv'], 'order' : ['Last Changed'], 'chfieldfrom' : ['1970-01-01 00:00:00'] } req = httpretty.last_request() self.assertEqual(req.method, 'GET') self.assertRegex(req.path, '/buglist.cgi') self.assertDictEqual(req.querystring, expected)