def testEditCompTeams(self): """Test editing the teams for a competition""" self.login() teams = { 'teams': json.dumps({ 'Team Test Edited': [self.username] }) } competition = self._insert_comp_into_db()[0] cid = competition.cid session.add( CompUser( cid=cid, username=self.username, team='Team Test' ) ) session.expunge(competition) session.commit() response = test_app.put('/api/competitions/{}/teams'.format(cid), data=teams) self.assertEqual(200, response.status_code) response_body = json.loads(response.data.decode())['data'] self.assertEqual({}, response_body) new_team = session.query(CompUser).filter_by(cid=cid).first() self.assertEqual('Team Test Edited', new_team.team) self.assertEqual(self.username, new_team.username) session.delete(session.query(CompUser).filter_by(cid=cid).first()) session.delete(session.query(Competition).filter_by(cid=cid).first()) session.commit()
def testProblemEdit(self): new_name = "A Different Test Problem" resp = test_app.put("/api/problems/" + str(test_problem["pid"]), data={"name": new_name}) self.assertEqual(200, resp.status_code) rv = json.loads(resp.data) prob = rv["data"] self.assertEqual(new_name, prob["name"])
def testProblemEdit(self): new_name = 'A Different Test Problem' resp = test_app.put( '/api/problems/' + str(test_problem['pid']), data={'name':new_name}) self.assertEqual(200, resp.status_code) rv = json.loads(resp.data.decode()) prob = rv['data'] self.assertEqual(new_name, prob['name'])
def testEdit(self): """Test editing a blog post""" post = self._insert_test_post()[0] post_id = post.id new_body = 'This is different!' post_json = { 'title': post.title, 'subtitle': post.subtitle, 'body': new_body, 'username': post.username } session.expunge(post) response = json.loads(test_app.put('/api/blog/{}'.format(post_id), data=post_json).data.decode()) response_data = response['data'] self.assertEquals(200, response['status']) self.assertEquals(new_body, response_data['body']) session.delete(session.query(BlogPost).filter_by(id=post.id).first()) session.commit()
def testEditComp(self): """Test modifying a competition""" self.login() competition = self._insert_comp_into_db()[0] competition_data = { 'name': 'Different Name', 'start_time': int(time.time()), 'length': 100, 'closed': False, 'problems': '[{"label": "A", "pid": 1}]', } response = test_app.put('/api/competitions/{}'.format(competition.cid), data=competition_data) self.assertEqual(200, response.status_code) response_data = json.loads(response.data.decode())['data'] self.assertEqual(competition_data['name'], response_data['name']) self.assertEqual(competition_data['start_time'], response_data['startTime']) self.assertEqual(competition_data['length'], response_data['length']) session.delete(competition) session.commit()