def test_api_build_id_returns_corrent_information(self): """ Verifies that when a build is running, returns the status of that build and otherwise returns clear.""" build = Build() build.save() response = self.client.get('/builds/%s' % str(build._id)) self.assertEqual(build._id, ObjectId(response.json['_id']['$oid']))
def test_api_build_status_wrong_id(self): """ Verifies that an error is returned if an invalid ID is passed to the build_status endpoint """ build = Build() build.save() response = self.client.get('/builds/%s' % '1234') self.assertEqual(response.json['error'], 'Invalid Build ID')
def test_api_builds_returned_corrent(self): """ Verifies that build statuses returned match initial set.""" builds = [] for i in range(5): build = Build() build.save() builds.append(str(build._id)) response = self.client.get('/builds') self.assertEqual(len(response.json), 5) for b in response.json: self.assertTrue(builds.count(json.loads(b)['_id']['$oid']) == 1)
def test_api_rebuilds(self): """ Verifies that after adding a failing test, build that passed build() now fails.""" build = Build() build.status = 2 build.save() response = self.client.post('/builds/new', data=dict(build_id=str(build._id))) api.worker.join() build.reload() self.assertEqual(build.status, 1) self.assertTrue(api.worker.current_build is None) self.assertEqual(response.json['id'], str(build._id))
def test_api_blame_list(self): """ Verifies that the data returned is the same as data stored""" for i in range(15): build = Build() build.status = 2 if i < 5: build.author.name = 'jessepollak' elif i < 10: build.author.name = 'dunvi' else: build.author.name = 'brennenbyrne' build.save() response = self.client.get('/blame') self.assertEqual(response.json['brennenbyrne'], 5) self.assertEqual(response.json['jessepollak'], 5) self.assertEqual(response.json['dunvi'], 5)