def test_reminder_opportunities_by_command(self, mock_request):
        # PREPARE DATA
        self.init_mock(mock_request)

        opp = self.create_opportunity()
        opp.deadline_date = timezone.now().date() + timedelta(days=1)
        opp.save()

        opp2 = self.create_opportunity()
        opp2.deadline_date = timezone.now().date() + timedelta(days=3)
        opp2.save()

        out = StringIO()
        err = StringIO()

        # ACTION
        management.call_command('opportunity_deadline', stdout=out, stderr=err)

        # ASSERTS
        out.seek(0)

        # first line is information command
        out.readline()
        data = eval(out.readline())
        self.assertEqual(data['title'], '{}'.format(opp2.title))
        data = eval(out.readline())
        self.assertEqual(data['title'], '{}'.format(opp.title))
    def test_feedback_both_reminder_by_command(self, mock_request):
        # PREPARE DATA
        self.init_mock(mock_request)

        # Opp requested with deadline for today
        opp = self.create_opportunity()

        # SELECTED end_date 2 days ago
        user = self.get_user()
        request_mock_account.add_mock(
            user, is_consultant=True, is_superuser=False)
        app = models.Applicant.objects.create_open_applicant(
            user, user, opp, faker.text())
        sow_data = self.get_sow_data()
        sow_data['end_date'] = (timezone.now() - timedelta(days=2)).date()
        opp.assign(self.super_user, app, faker.text(), **sow_data)
        app.set_completed()
        out = StringIO()
        err = StringIO()

        # ACTION
        management.call_command(
            'opportunity_feedback', stdout=out, stderr=err)

        # ASSERTS
        out.seek(0)

        applicant_pk = out.readline().replace('\n', '')
        self.assertEqual(
            applicant_pk, 'Requester reminder: {}'.format(app.pk))

        applicant_pk = out.readline().replace('\n', '')
        self.assertEqual(
            applicant_pk, 'Applicant reminder: {}'.format(app.pk))
 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)
 def test_verbosity(self):
     stdout = StringIO()
     call_command('createtenant', 'tenant', stdout=stdout, verbosity=3)
     tenant = Tenant.objects.get(name='tenant')
     stdout.seek(0)
     connection = connections[tenant._state.db]
     try:
         if connection.vendor == 'postgresql':
             self.assertIn(tenant.db_schema, stdout.readline())
         for model in TenantModelBase.references:
             self.assertIn(model._meta.object_name, stdout.readline())
             self.assertIn(model._meta.db_table, stdout.readline())
         self.assertIn('Installing indexes ...', stdout.readline())
     finally:
         tenant.delete()
Exemple #8
0
 def test_verbosity(self):
     stdout = StringIO()
     call_command('createtenant', 'tenant', stdout=stdout, verbosity=3)
     tenant = Tenant.objects.get(name='tenant')
     stdout.seek(0)
     connection = connections[tenant._state.db]
     try:
         if connection.vendor == 'postgresql':
             self.assertIn(tenant.db_schema, stdout.readline())
         for model in TenantModelBase.references:
             self.assertIn(model._meta.object_name, stdout.readline())
             if not model._meta.proxy:
                 self.assertIn(model._meta.db_table, stdout.readline())
         self.assertIn('Installing indexes ...', stdout.readline())
     finally:
         tenant.delete()
    def test_feedback_given(self, mock_request):
        # PREPARE DATA
        self.init_mock(mock_request)

        # Opp requested with deadline for today
        opp = self.create_opportunity()

        # SELECTED end_date 2 days ago
        user = self.get_user()
        request_mock_account.add_mock(
            user, is_consultant=True, is_superuser=False)
        app = models.Applicant.objects.create_open_applicant(
            user, user, opp, faker.text())
        sow_data = self.get_sow_data()
        sow_data['end_date'] = (timezone.now() - timedelta(days=2)).date()
        opp.assign(self.super_user, app, faker.text(), **sow_data)
        app.set_status = None, settings.OPPORTUNITIES_CH_APPLICANT_FEEDBACK_READY
        out = StringIO()
        err = StringIO()

        # ACTION
        management.call_command(
            'opportunity_feedback', stdout=out, stderr=err)

        # ASSERTS
        out.seek(0)
        self.assertEqual(out.readline(), '')
Exemple #10
0
 def test_verbosity(self):
     stdout = StringIO()
     call_command('createtenant', 'tenant', stdout=stdout, verbosity=3)
     tenant = Tenant.objects.get(name='tenant')
     stdout.seek(0)
     connection = connections[tenant._state.db]
     try:
         if connection.vendor == 'postgresql':
             self.assertIn(tenant.db_schema, stdout.readline())
         for model in TenantModelBase.references:
             if not model._meta.proxy and not model._meta.auto_created:
                 self.assertIn(model._meta.object_name, stdout.readline())
                 self.assertIn(model._meta.db_table, stdout.readline())
             for m2m in model._meta.many_to_many:
                 through_opts = get_remote_field(m2m).through._meta
                 if through_opts.auto_created:
                     self.assertIn(through_opts.db_table, stdout.readline())
     finally:
         tenant.delete()
 def test_verbosity(self):
     stdout = StringIO()
     call_command('createtenant', 'tenant', stdout=stdout, verbosity=3)
     tenant = Tenant.objects.get(name='tenant')
     stdout.seek(0)
     connection = connections[tenant._state.db]
     try:
         if connection.vendor == 'postgresql':
             self.assertIn(tenant.db_schema, stdout.readline())
         for model in TenantModelBase.references:
             if not model._meta.proxy and not model._meta.auto_created:
                 self.assertIn(model._meta.object_name, stdout.readline())
                 self.assertIn(model._meta.db_table, stdout.readline())
             for m2m in model._meta.many_to_many:
                 through_opts = get_remote_field(m2m).through._meta
                 if through_opts.auto_created:
                     self.assertIn(through_opts.db_table, stdout.readline())
     finally:
         tenant.delete()
    def test_command_data(self):
        """testing result of command execute"""
        HttpReqFactory()
        stdout_cmd = StringIO()
        stderr_cmd = StringIO()
        call_command('print_objects_count',
                     stdout=stdout_cmd,
                     stderr=stderr_cmd)
        stdout_cmd.seek(0)
        stderr_cmd.seek(0)

        for app in models.get_apps():
            for model in models.get_models(app):
                objects_count = model.objects.count()
                out_message = ('%s: objects: %s\n'
                               % (model.__name__, objects_count))
                error_message = ('error: %s: objects: %s\n'
                                 % (model.__name__, objects_count))

                self.assertEqual(stdout_cmd.readline(), out_message)
                self.assertEqual(stderr_cmd.readline(), error_message)
    def test_feedback_applicant_by_command(self, mock_request):
        # PREPARE DATA
        self.init_mock(mock_request)

        # Opp requested with deadline for today
        opp = self.create_opportunity()

        # SELECTED end_date for today
        user = self.get_user()
        request_mock_account.add_mock(
            user, is_consultant=True, is_superuser=False)
        app_first = models.Applicant.objects.create_open_applicant(
            user, user, opp, faker.text())
        sow_data = self.get_sow_data()
        sow_data['end_date'] = timezone.now().date()
        opp.assign(self.super_user, app_first, faker.text(), **sow_data)

        user = self.get_user()
        request_mock_account.add_mock(
            user, is_consultant=True, is_superuser=False)
        app = models.Applicant.objects.create_open_applicant(
            user, user, opp, faker.text())
        sow_data = self.get_sow_data()
        opp.assign(self.super_user, app, faker.text(), **sow_data)

        out = StringIO()
        err = StringIO()

        # ACTION
        management.call_command(
            'opportunity_feedback', stdout=out, stderr=err)

        print(err)

        # ASSERTS
        out.seek(0)

        applicant_pk = out.readline().replace('\n', '')
        self.assertEqual(
            applicant_pk, 'Completed: {}'.format(app_first.pk.__str__()))
        app.refresh_from_db()
        self.assertFalse(app.is_completed)
        app_first.refresh_from_db()
        self.assertTrue(app_first.is_completed)