def setUp(self): self._ob = { u'dict': {u'key': Base64String('somestring')}, u'key': Base64String('string'), } self._ob_json = \ '{"dict": {"key": "c29tZXN0cmluZw=="}, "key": "c3RyaW5n"}' with open('oioioi/zeus/fixtures/test_zeus_correct.json') as f: self._jsons = [f['result'] for f in json.load(f)]
def setUp(self): self._ob = { u'dict': {u'key': Base64String('somestring')}, u'key': Base64String('string'), } self._ob_json = '{"dict": {"key": "c29tZXN0cmluZw=="}, "key": "c3RyaW5n"}' with open('oioioi/zeus/fixtures/test_zeus_data.json') as f: self._jsons = [f['result'] for f in json.load(f)] self._json_base64_decode = lambda v: _json_base64_decode(v, wrap=True)
def test_push_grade(self): submission = ProgramSubmission.objects.get() problem = Problem.objects.get(id=1) problem.controller_name = \ 'oioioi.zeus.tests.ZeusProblemController' problem.save() ZeusProblemController(problem).judge(submission) self.assertEqual(SavedEnviron.objects.count(), 1) saved_environ = SavedEnviron.objects.get() saved_environ_id = saved_environ.id signature = zeus_url_signature(saved_environ_id) url = reverse('oioioi.zeus.views.push_grade', kwargs={ 'saved_environ_id': saved_environ_id, 'signature': signature }) data = {u'compilation_output': Base64String("CE")} response = self.client.post(url, _json_base64_encode(data), follow=True, content_type="application/json") self.assertEqual(response.status_code, 200) submission = ProgramSubmission.objects.get() self.assertEqual(submission.status, 'CE')
def test_push_grade(self): submission = ProgramSubmission.objects.get() problem = Problem.objects.get(id=1) problem.controller_name = \ 'oioioi.zeus.controllers.ZeusProblemController' problem.save() ZeusProblemController(problem).judge(submission) self.assertEqual(ZeusAsyncJob.objects.count(), 1) job = ZeusAsyncJob.objects.get() env = json.loads(job.environ) check_uid = env['zeus_check_uids']['INITIAL'] signature = zeus_url_signature(check_uid) url = reverse('oioioi.zeus.views.push_grade', kwargs={ 'check_uid': check_uid, 'signature': signature }) data = {u'compilation_output': Base64String("CE")} response = self.client.post(url, _json_base64_encode(data), follow=True, content_type="application/json") self.assertEqual(response.status_code, 200) submission = ProgramSubmission.objects.get() self.assertEqual(submission.status, 'CE')