add judge config languages and problem tag api
This commit is contained in:
@@ -90,7 +90,7 @@ class JudgeServerStatusAPITest(APITestCase):
|
||||
self.assertEqual(JudgeServerToken.objects.first().token, resp.data["data"]["token"])
|
||||
|
||||
|
||||
class JudgeServerHeartbeatest(APITestCase):
|
||||
class JudgeServerHeartbeatTest(APITestCase):
|
||||
def setUp(self):
|
||||
self.url = self.reverse("judge_server_heartbeat_api")
|
||||
self.data = {"hostname": "testhostname", "judger_version": "1.0.4", "cpu_core": 4,
|
||||
@@ -123,3 +123,9 @@ class JudgeServerHeartbeatest(APITestCase):
|
||||
resp = self.client.post(self.url, data=data, **{"HTTP_X_JUDGE_SERVER_TOKEN": self.hashed_token})
|
||||
self.assertSuccess(resp)
|
||||
self.assertEqual(JudgeServer.objects.get(hostname=self.data["hostname"]).judger_version, data["judger_version"])
|
||||
|
||||
|
||||
class LanguageListAPITest(APITestCase):
|
||||
def test_get_languages(self):
|
||||
resp = self.client.get(self.reverse("language_list_api"))
|
||||
self.assertSuccess(resp)
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from django.conf.urls import url
|
||||
|
||||
from ..views import JudgeServerHeartbeatAPI, WebsiteConfigAPI
|
||||
from ..views import JudgeServerHeartbeatAPI, LanguagesAPI, WebsiteConfigAPI
|
||||
|
||||
urlpatterns = [
|
||||
url(r"^website$", WebsiteConfigAPI.as_view(), name="website_info_api"),
|
||||
url(r"^judge_server_heartbeat$", JudgeServerHeartbeatAPI.as_view(), name="judge_server_heartbeat_api")
|
||||
url(r"^judge_server_heartbeat$", JudgeServerHeartbeatAPI.as_view(), name="judge_server_heartbeat_api"),
|
||||
url(r"^languages$", LanguagesAPI.as_view(), name="language_list_api")
|
||||
]
|
||||
|
||||
@@ -3,6 +3,7 @@ import hashlib
|
||||
from django.utils import timezone
|
||||
|
||||
from account.decorators import super_admin_required
|
||||
from judge.languages import languages, spj_languages
|
||||
from utils.api import APIView, CSRFExemptAPIView, validate_serializer
|
||||
from utils.shortcuts import rand_str
|
||||
|
||||
@@ -84,7 +85,7 @@ class JudgeServerAPI(APIView):
|
||||
|
||||
@super_admin_required
|
||||
def delete(self, request):
|
||||
pass
|
||||
return self.success()
|
||||
|
||||
|
||||
class JudgeServerHeartbeatAPI(CSRFExemptAPIView):
|
||||
@@ -125,3 +126,8 @@ class JudgeServerHeartbeatAPI(CSRFExemptAPIView):
|
||||
last_heartbeat=timezone.now(),
|
||||
)
|
||||
return self.success()
|
||||
|
||||
|
||||
class LanguagesAPI(APIView):
|
||||
def get(self, request):
|
||||
return self.success({"languages": languages, "spj_languages": spj_languages})
|
||||
|
||||
Reference in New Issue
Block a user