def setUpClass(self): self.ip = '101.0.0.1' self.user = User.objects.get(id=1) self.profile = self.user.profile self.quiz = Quiz.objects.get(pk=1) self.question_paper = QuestionPaper(quiz=self.quiz, total_marks=3) self.question_paper.save() self.questions = Question.objects.filter(id__in=[1, 2, 3]) self.start_time = timezone.now() self.end_time = self.start_time + timedelta(minutes=20) self.question1 = self.questions.get(id=1) self.question2 = self.questions.get(id=2) self.question3 = self.questions.get(id=3) # create answerpaper self.answerpaper = AnswerPaper(user=self.user, question_paper=self.question_paper, start_time=self.start_time, end_time=self.end_time, user_ip=self.ip) self.attempted_papers = AnswerPaper.objects.filter( question_paper=self.question_paper, user=self.user) already_attempted = self.attempted_papers.count() self.answerpaper.attempt_number = already_attempted + 1 self.answerpaper.save() self.answerpaper.questions.add(*self.questions) self.answerpaper.questions_unanswered.add(*self.questions) self.answerpaper.save() # answers for the Answer Paper self.answer_right = Answer(question=Question.objects.get(id=1), answer="Demo answer", correct=True, marks=1, error=json.dumps([])) self.answer_wrong = Answer(question=Question.objects.get(id=2), answer="My answer", correct=False, marks=0, error=json.dumps(['error1', 'error2'])) self.answer_right.save() self.answer_wrong.save() self.answerpaper.answers.add(self.answer_right) self.answerpaper.answers.add(self.answer_wrong) self.question1.language = 'python' self.question1.test_case_type = 'standardtestcase' self.question1.save() self.question2.language = 'python' self.question2.type = 'mcq' self.question2.test_case_type = 'mcqtestcase' self.question2.save() self.question3.language = 'python' self.question3.type = 'mcc' self.question3.test_case_type = 'mcqtestcase' self.question3.save() self.assertion_testcase = StandardTestCase( question=self.question1, test_case='assert add(1, 3) == 4', type='standardtestcase') self.assertion_testcase.save() self.mcq_based_testcase = McqTestCase(options='a', question=self.question2, correct=True, type='mcqtestcase') self.mcq_based_testcase.save() self.mcc_based_testcase = McqTestCase(question=self.question3, options='a', correct=True, type='mcqtestcase') self.mcc_based_testcase.save()
def setUpClass(self): # Creating User self.user = User.objects.get(username='******') self.user2 = User.objects.get(username='******') self.user_ip = '127.0.0.1' # Creating Course self.course = Course.objects.get(name="Python Course 100") # Creating Quiz self.quiz = Quiz.objects.get(description="demo quiz 100") # Creating Question paper self.question_paper = QuestionPaper.objects.get(quiz=self.quiz) self.question_paper.shuffle_testcases = True self.question_paper.save() # Creating Question self.question1 = Question.objects.create( summary='mcq1', points=1, type='code', user=self.user, ) self.question1.language = 'python' self.question1.type = "mcq" self.question1.test_case_type = 'Mcqtestcase' self.question1.description = 'Which option is Correct?' self.question1.save() # For questions self.mcq_based_testcase_1 = McqTestCase( question=self.question1, options="Correct", correct=True, type='mcqtestcase', ) self.mcq_based_testcase_1.save() self.mcq_based_testcase_2 = McqTestCase( question=self.question1, options="Incorrect", correct=False, type='mcqtestcase', ) self.mcq_based_testcase_2.save() self.mcq_based_testcase_3 = McqTestCase( question=self.question1, options="Incorrect", correct=False, type='mcqtestcase', ) self.mcq_based_testcase_3.save() self.mcq_based_testcase_4 = McqTestCase( question=self.question1, options="Incorrect", correct=False, type='mcqtestcase', ) self.mcq_based_testcase_4.save() self.question_paper.fixed_questions.add(self.question1) self.answerpaper = self.question_paper.make_answerpaper( user=self.user, ip=self.user_ip, attempt_num=1, course_id=self.course.id) # Answerpaper for user 2 self.answerpaper2 = self.question_paper.make_answerpaper( user=self.user2, ip=self.user_ip, attempt_num=1, course_id=self.course.id)
def setUpClass(self): self.client = APIClient() self.username = '******' self.password = '******' self.user = User.objects.create_user(username=self.username, password=self.password) Profile.objects.create(user=self.user) self.quiz = Quiz.objects.create(description='Quiz', creator=self.user) self.questionpaper = QuestionPaper.objects.create(quiz=self.quiz) self.question1 = Question.objects.create(summary='Q1', user=self.user, points=1.0, language='python', type='code') self.question2 = Question.objects.create(summary='Q2', user=self.user, points=1.0, language='python', type='mcq') self.question3 = Question.objects.create(summary='Q3', user=self.user, points=1.0, language='python', type='mcc') self.question4 = Question.objects.create(summary='Q4', user=self.user, points=1.0, language='python', type='mcq') self.question5 = Question.objects.create(summary='Q5', user=self.user, points=1.0, language='python', type='mcq') self.assertion_testcase = StandardTestCase( question=self.question1, test_case='assert add(1, 3) == 4', type='standardtestcase') self.assertion_testcase.save() self.mcq_based_testcase1 = McqTestCase(options='a', question=self.question2, correct=True, type='mcqtestcase') self.mcq_based_testcase1.save() self.mcq_based_testcase2 = McqTestCase(options='b', question=self.question2, correct=False, type='mcqtestcase') self.mcq_based_testcase2.save() self.mcc_based_testcase = McqTestCase(question=self.question3, options='a', correct=True, type='mcqtestcase') self.mcc_based_testcase.save() self.questionset = QuestionSet.objects.create(marks=1, num_questions=1) self.questionset.questions.add(self.question3) self.questionset.questions.add(self.question4) self.questionset.save() self.questionpaper.fixed_questions.add(self.question1) self.questionpaper.fixed_questions.add(self.question2) self.questionpaper.random_questions.add(self.questionset) self.questionpaper.save() self.questionpaper.update_total_marks() self.course = Course.objects.create(name="Python Course", enrollment="Enroll Request", creator=self.user) # Learing module learning_module = LearningModule.objects.create( name='LM1', description='module one', creator=self.user) learning_unit_quiz = LearningUnit.objects.create(quiz=self.quiz, type='quiz', order=1) learning_module.learning_unit.add(learning_unit_quiz) learning_module.save() self.course.learning_module.add(learning_module) self.course.students.add(self.user) self.course.save() self.ip = '127.0.0.1' self.answerpaper = self.questionpaper.make_answerpaper( self.user, self.ip, 1, self.course.id) settings.code_evaluators['python']['standardtestcase'] = \ "yaksh.python_assertion_evaluator.PythonAssertionEvaluator" server_pool = ServerPool(n=1, pool_port=SERVER_POOL_PORT) self.server_pool = server_pool self.server_thread = t = Thread(target=server_pool.run) t.start()