Exemple #1
0
    def test_log_group_updated_added_event(self):
        """Check logging signal for newly created group"""
        # add own root handler to catch group signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # now create group, this should raise new message inside
        # our logger output file
        group = Group(title='Demo Group')
        group.save()

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
             "Group created: Demo Group (ID: %d)\n" % group.id)

        # now update existing student and check last line in out
        group.notes = 'some group note'
        group.save()
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
             "Group updated: Demo Group (ID: %d)\n" % group.id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #2
0
    def test_log_student_updated_added_event(self):
        ''' Check logging signal for newly created student '''
        # add own root handler to catch student signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # now create student, this should raise new message inside
        # our logger output file
        student = Student(first_name='Demo', last_name='Student')
        student.save()

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
                         'Student added: Demo Student (ID: %d)\n' % student.id)

        # now update existing student and check last line in out
        student.ticket = '12345'
        student.save()
        out.seek(0)
        self.assertEqual(
            out.readlines()[-1],
            'Student updated: Demo Student (ID: %d)\n' % student.id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #3
0
    def test_log_student_updated_added_event(self):
        """Check logging signal for newly created student"""
        # add own root handler to catch student signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # now create student, this should raise new message inside
        # our logger output file
        student = Student(first_name='Demo', last_name='Student')
        student.save()

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
            'Student added: Demo Student (ID: %d)\n' % student.id)

        # now update existing student and check last line in out
        student.ticket = '12345'
        student.save()
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
            'Student updated: Demo Student (ID: %d)\n' % student.id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #4
0
 def _choices_as_array(self):
     from django.utils.six import StringIO
     valuebuffer = StringIO(self.list_values)
     choices = [[item.strip(), item.strip()]
                for item in valuebuffer.readlines()]
     valuebuffer.close()
     return choices
 def test_filter_encrypted(self):
     stdout = StringIO()
     with patch('sys.stdout', stdout):
         execute_from_command_line(['', 'listbackups', '--encrypted', '-q'])
     stdout.seek(0)
     stdout.readline()
     for line in stdout.readlines():
         self.assertIn('.gpg', line)
 def test_filter_media(self):
     stdout = StringIO()
     with patch('sys.stdout', stdout):
         execute_from_command_line(['', 'listbackups', '--content-type', 'media', '-q'])
     stdout.seek(0)
     stdout.readline()
     for line in stdout.readlines():
         self.assertIn('.tar', line)
 def test_filter_not_compressed(self):
     stdout = StringIO()
     with patch('sys.stdout', stdout):
         execute_from_command_line(['', 'listbackups', '--not-compressed', '-q'])
     stdout.seek(0)
     stdout.readline()
     for line in stdout.readlines():
         self.assertNotIn('.gz', line)
 def test_filter_media(self):
     stdout = StringIO()
     with patch('sys.stdout', stdout):
         execute_from_command_line(['', 'listbackups', '--content-type', 'media', '-q'])
     stdout.seek(0)
     stdout.readline()
     for line in stdout.readlines():
         self.assertIn('.media', line)
Exemple #9
0
def test_compile_all(settings):
    out = StringIO()
    management.call_command('compilejsi18n', verbosity=1, stdout=out)
    out.seek(0)
    lines = [l.strip() for l in out.readlines()]

    assert len(lines) == len(settings.LANGUAGES)
    for locale, _ in settings.LANGUAGES:
        assert "processing language %s" % to_locale(locale) in lines
Exemple #10
0
    def test_log_student_updated_added_event(self):
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        student = Student(first_name='Demo', last_name='Student')
        student.save()

        out.seek(0)
        self.assertEqual(out.readlines()[-1],
                         'Student added: Demo Student (ID: %d)\n' % student.id)

        student.ticker = '12345'
        student.save()
        out.seek(0)
        self.assertEqual(
            out.readlines()[-1],
            'Student updated: Demo Student (ID: %d)\n' % student.id)

        logging.root.removeHandler(handler)
class TestNamespacedCommand(TestCase):
    def setUp(self):
        super(TestNamespacedCommand, self).setUp()
        self.stdout = StringIO()
        self.stderr = StringIO()

    def test_help_message(self):

        cmd = DummyCommand(stdout=self.stdout,
                           stderr=self.stderr,
                           no_color=True)

        cmd.run_from_argv(["./manage.py", "dummy", "-h"])

        self.stdout.seek(0)
        self.assertEqual(
            "\n".join([l.strip() for l in self.stdout.readlines()]),
            "\n".join([
                "usage: manage.py dummy [-h] sub1",
                "",
                "positional arguments:",
                "sub1        subcommand",
                "",
                "optional arguments:",
                "-h, --help  show this help message and exit",
            ]),
        )

    def test_trigger_subcommand(self):
        cmd = DummyCommand(stdout=self.stdout,
                           stderr=self.stderr,
                           no_color=True)

        cmd.run_from_argv(["./manage.py", "dummy", "sub1"])

        self.stdout.seek(0)
        self.assertEqual("".join([l.strip() for l in self.stdout.readlines()]),
                         "subcommand triggered")
Exemple #12
0
def test_compile_with_output_format(settings, locale, output_format):
    out = StringIO()
    management.call_command('compilejsi18n',
                            verbosity=1,
                            stdout=out,
                            locale=locale,
                            outputformat=output_format)
    out.seek(0)
    lines = [l.strip() for l in out.readlines()]
    assert len(lines) == 1
    assert lines[0] == "processing language %s" % to_locale(locale)
    assert os.path.exists(
        os.path.join(settings.STATIC_ROOT, "jsi18n", locale,
                     "djangojs.%s" % output_format))
Exemple #13
0
class SignalsTests(TestCase):
    """Test for Student signals"""
    def setUp(self):
        self.out = StringIO()
        self.handler = logging.StreamHandler(self.out)
        logging.root.addHandler(self.handler)

        Student.objects.create(id=1, first_name='Test', last_name='Student')

    def test_updated_added_event(self):
        # check if add signal message is in the output file
        self.out.seek(0)
        student = Student.objects.get(pk=1)
        self.assertEqual(
            self.out.readlines()[-1],
            'Student added: Test Student (ID: {:d})\n'.format(student.id))

        # check if update signal message is in the output file
        student.ticket = '123'
        student.save()
        self.out.seek(0)
        self.assertEqual(
            self.out.readlines()[-1],
            'Student updated: Test Student (ID: {:d})\n'.format(student.id))

    def test_deleted_event(self):
        student = Student.objects.get(pk=1)
        pk = student.id
        student.delete()
        self.out.seek(0)
        self.assertEqual(
            self.out.readlines()[-1],
            'Student deleted: Test Student (ID: {:d})\n'.format(pk))

    def tearDown(self):
        # remove our handler from root logger
        logging.root.removeHandler(self.handler)
Exemple #14
0
    def test_log_group_updated_added_event(self):
        """Check logging group for newly created student"""
        # add own root handler to catch student signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # now create group, this should raise new message inside
        # our logger output file
        group = Group(title='Demo Group 1')
        group.save()

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1], 'Group Demo Group 1 added (ID: %d)\n' % group.id)

        # now update existing group and check last line in out
        group.title = 'Demo Group 2'
        group.save()
        out.seek(0)
        self.assertEqual(out.readlines()[-1], 'Group Demo Group 2 updated (ID: %d)\n' % group.id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #15
0
def test_compile_with_namespace(settings, locale, namespace):
    out = StringIO()
    management.call_command('compilejsi18n',
                            verbosity=1,
                            stdout=out,
                            locale=locale,
                            outputformat='js',
                            namespace=namespace)
    out.seek(0)
    lines = [l.strip() for l in out.readlines()]
    assert len(lines) == 1
    assert lines[0] == "processing language %s" % to_locale(locale)
    file_path = os.path.join(settings.STATIC_ROOT, "jsi18n", locale,
                             "djangojs.js")
    assert os.path.exists(file_path)
    generated_content = open(file_path).read()
    assert 'global.MyBlock = MyBlock;' in generated_content
Exemple #16
0
def test_compile(settings, locale):
    out = StringIO()
    management.call_command('compilejsi18n',
                            verbosity=1,
                            stdout=out,
                            locale=to_locale(locale))
    out.seek(0)
    lines = [l.strip() for l in out.readlines()]

    assert len(lines) == 1
    assert lines[0] == "processing language %s" % to_locale(locale)
    filename = os.path.join(settings.STATICI18N_ROOT, "jsi18n",
                            to_locale(locale), "djangojs.js")
    assert os.path.exists(filename)
    with io.open(filename, "r", encoding="utf-8") as fp:
        content = fp.read()
        assert LOCALIZED_CONTENT[locale] in content
 def test_log_student_deleted_event(self):
     """Check logging signals for deleted student"""
     student = Student(first_name='Demo', last_name='Student')
     student.save()
     # now override signal
     # add own root handler to catch student signals output
     out = StringIO()
     handler = logging.StreamHandler(out)
     logging.root.addHandler(handler)
     # delete existing student and check logger output
     sid = student.id
     student.delete()
     out.seek(0)
     self.assertEqual(out.readlines()[-1],
                      'Student deleted: Demo Student (ID: %d)\n' % sid)
     # remove our handler from root logger
     logging.root.removeHandler(handler)
Exemple #18
0
    def test_log_group_deleted_event(self):
        """Check logging group for deleted student"""
        group = Group(title='Demo Group 1')
        group.save()

        # now override signal
        # add own root handler to catch student signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # delete existing group and check logger output
        sid = group.id
        group.delete()
        out.seek(0)
        self.assertEqual(out.readlines()[-1], 'Group Demo Group 1 deleted (ID: %d)\n' % sid)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #19
0
    def test_log_student_deleted_event(self):
        """Check logging signals for deleted student"""
        student = Student(first_name='Demo', last_name='Student')
        student.save()

        # now override signal
        # add own root handler to catch student signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # delete existing student and check logger output
        sid = student.id
        student.delete()
        out.seek(0)
        self.assertEqual(out.readlines()[-1], 'Student Demo Student deleted (ID: %d)\n' % sid)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #20
0
def test_compile_no_use_i18n(settings, locale):
    """Tests compilation when `USE_I18N = False`.

    In this scenario, only the `settings.LANGUAGE_CODE` locale is processed
    (it defaults to `en-us` for Django projects).
    """
    settings.USE_I18N = False

    out = StringIO()
    management.call_command('compilejsi18n',
                            verbosity=1,
                            stdout=out,
                            locale=to_locale(locale))
    out.seek(0)
    lines = [l.strip() for l in out.readlines()]
    assert len(lines) == 1
    assert lines[0] == "processing language %s" % to_locale(locale)
    assert os.path.exists(
        os.path.join(settings.STATIC_ROOT, "jsi18n", to_locale(locale),
                     "djangojs.js"))
Exemple #21
0
    def test_log_monthjournal_changes(self):
        """Test logging signal for changes in monthjournal"""
         # add own root handler to catch group signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        student, created = Student.objects.get_or_create(
            first_name='Demo', last_name='Student', ticket='123')
        monthjournal, created = MonthJournal.objects.get_or_create(
            student=student, date=datetime.today())
        monthjournal.present_day1 = True

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
             "MonthJournal updated: Demo Student (Journal ID: %d)\n"
                         % monthjournal.id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #22
0
    def test_log_group_deleted_event(self):
        """Check logging signal for deleted group"""
        # add own root handler to catch group signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # now create and delete group, this should raise new message inside
        # our logger output file
        group = Group(title='Demo Group')
        group.save()
        group_id = group.id
        group.delete()

        # check output file content
        out.seek(0)
        self.assertEqual(out.readlines()[-1],
             "Group deleted: Demo Group (ID: %d)\n" % group_id)

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #23
0
    def test_log_contact_admin(self):
        """Test log message when mail was sent"""
        # add own root handler to catch group signals output
        out = StringIO()
        handler = logging.StreamHandler(out)
        logging.root.addHandler(handler)

        # prepare client and login as administrator
        client = Client()
        client.login(username='******', password='******')

        # make form submit
        client.post(reverse('contact_admin'), {
            'from_email': '*****@*****.**',
            'subject': 'test email',
            'message': 'test email message',
        })
        # check log message
        out.seek(0)
        self.assertIn("A message via Contact Form was sent",
                      out.readlines()[-1])

        # remove our handler from root logger
        logging.root.removeHandler(handler)
Exemple #24
0
class StudentSignalTests(TestCase):
	"""Testing log_student_event"""

	def setUp(self):
		self.out = StringIO()
		self.handler = logging.StreamHandler(self.out)
		logging.root.addHandler(self.handler)

	def tearDown(self):
		logging.root.removeHandler(self.handler)

	def test_add_update_student_event(self):
		"""Check logging signal for newly created student"""
		# now create student, this should raise new message inside
		# our logger output file
		student, created = Student.objects.get_or_create(first_name="Illia",
			last_name="Petrov",
			birthday=date(2000, 12, 5),
			ticket=12345,
			study_start=date(2007, 9, 1))

		# check output file content
		self.out.seek(0)
		self.assertEqual(self.out.readlines()[-1],
			'Student added: Illia Petrov (ID: %d)\n' % student.id)

		# now update existing student and check last line in out
		student.ticket = '12345'
		student.save()
		self.out.seek(0)
		self.assertEqual(self.out.readlines()[-1],
			'Student updated: Illia Petrov (ID: %d)\n' % student.id)

	def test_log_student_delete_event(self):
		"""Test log deletetion student"""
		student, created = Student.objects.get_or_create(first_name="Illia",
			last_name="Petrov",
			birthday=date(2000, 12, 5),
			ticket=12345,
			study_start=date(2007, 9, 1))

		stud_id = student.id
		student.delete()

		self.out.seek(0)
		self.assertEqual(self.out.readlines()[-1], "Student deleted: Illia Petrov (ID: %d)\n" % stud_id)

	def test_log_group_add_update_event(self):
		student = Student(first_name='Demo', last_name='Student')
		student.save()
		group = Group(title='TTE')
		group.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1], "Group added: %s (ID: %d)\n" % (group.title, group.id))

		group.leader = student
		group.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Group edited: {} (ID: {})".format(group.title, group.id))

	def test_log_group_delete(self):
		group = Group(title='The Best Title')
		group.save()

		group_id = group.id
		group_title = group.title
		group.delete()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Group deleted: {0} (ID: {1})".format(group_title, group_id))

	def test_log_monthjournal_add_update(self):
		student = Student(first_name='Nick', last_name='Rest')
		student.save()
		monthjournal = MonthJournal(student=student, date=date(2016, 5, 2))
		monthjournal.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "MonthJournal created: %s" % monthjournal)

		monthjournal.present_day1 = True
		monthjournal.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "MonthJournal updated: %s" % monthjournal)

	def test_log_monthjournal_delete(self):
		student = Student(first_name='Kick', last_name='Resl')
		student.save()
		monthjournal = MonthJournal(student=student, date=date(2016, 5, 2))
		monthjournal.save()

		# import copy
		# mj = copy.deepcopy(monthjournal)
		mj = monthjournal

		monthjournal.delete()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "MonthJournal deleted: %s" % mj)

	def test_log_exam_add_update(self):
		group = Group(title='G-TTY')
		group.save()
		exam = Exam(title='Solphegio', exam_date=date(2016,5,12), presenter='Fedir Ivanovich')
		exam.save()
		

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Exam created: %s (ID: %d)" % (exam.title, exam.id))
		
		exam.exam_group.add(group)
		exam.save()

		self.assertEqual(exam.exam_group ,Exam.objects.filter(title='Solphegio')[0].exam_group)

		group2 = Group(title='Phisics')
		group2.save()
		exam.exam_group.add(group2)
		exam.save()

		self.out.seek(0)
		self.assertEqual(self.out.readlines()[-1].strip(), "Exam updated: %s (ID: %d)" % (exam.title, exam.id))

	def test_log_exam_delete(self):
		exam = Exam(title='Spanish', exam_date=date(2013,1,1), presenter='Petro P.')
		exam.save()

		copyexam = exam
		exam.delete()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Exam deleted: %s" % copyexam)

	def test_log_exam_change_groups(self):
		group = Group(title='ASD')
		group.save()
		exam = Exam(title='Spanish', exam_date=date(2013,1,1), presenter='Petro P.')
		exam.save()
		exam.exam_group.add(group)
		exam.save()

		self.out.seek(0)

		info_str = "exam {} have next groups after modified:\n".format(exam)
		for exam_group in Exam.objects.filter(title='Spanish')[0].exam_group.all():
			info_str += exam_group.title + '\n'
		out_str = ''.join(self.out.readlines()[-4:-2])
		self.assertEqual(out_str, info_str)

	def test_log_result_exam_add_update(self):
		result_exam = Result_exam(valuetion=2)
		result_exam.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Result_exam created(ID: %d)" % result_exam.id)

		result_exam.valuetion = 4
		result_exam.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Result_exam updated(ID: %d)" % result_exam.id)

	def test_log_result_exam_delete(self):
		res_exam = Result_exam(valuetion=5)
		res_exam.save()
		
		ruid = res_exam.id
		res_exam.delete()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-1].strip(), "Result_exam deleted(ID: %d)" % ruid)

	def test_log_result_exam_change_students(self):
		res_exam = Result_exam(valuetion=5)
		res_exam.save()
		student = Student(first_name='Ioan', last_name='Serok')
		student.save()
		res_exam.students.add(student)
		res_exam.save()

		self.out.seek(0)

		self.assertEqual(self.out.readlines()[-2].strip(), "List of students was modified \
					 in result_exam {}".format(res_exam.id))
def capture_command(*args, **kwargs):
    stdout = StringIO()
    call_command(*args, stdout=stdout, **kwargs)

    stdout.seek(0)
    return stdout.readlines()
Exemple #26
0
 def _choices_as_array(self):
     from django.utils.six import StringIO
     valuebuffer = StringIO(self.list_values)
     choices = [[item.strip(), item.strip()] for item in valuebuffer.readlines()]
     valuebuffer.close()
     return choices