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()
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(), '')
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)