class TaxPayerFactory(DjangoModelFactory): class Meta: model = models.TaxPayer name = 'John Smith' cuit = 20329642330 is_sandboxed = True key = FileField(from_func=_key_file) certificate = FileField(from_func=_cert_file) active_since = datetime(2011, 10, 3)
class AlternateTaxpayerFactory(DjangoModelFactory): """A taxpayer with an alternate (valid) keypair.""" class Meta: model = models.TaxPayer name = 'John Smith' cuit = 20329642330 is_sandboxed = True key = FileField(from_func=_key_file2) certificate = FileField(from_func=_cert_file2) active_since = datetime(2011, 10, 3)
def test_expired_certificate_exception(self): """Test that using an expired ceritificate raises as expected.""" with open(os.path.join(settings.BASE_DIR, 'test_expired.key'), ) as key, open( os.path.join(settings.BASE_DIR, 'test_expired.crt'), ) as crt: taxpayer = factories.TaxPayerFactory( key=FileField(from_file=key), certificate=FileField(from_file=crt), ) with self.assertRaises(exceptions.CertificateExpired): taxpayer.create_ticket('wsfe')
class DummyDocumentFactory(factory.DjangoModelFactory): class Meta: model = get_document_model() title = factory.LazyAttribute(fake_title) file = FileField(from_path=os.path.join(settings.BASE_DIR, 'core', 'static', 'doc', 'dummy.pdf'))
class PictureFactory(factory.django.DjangoModelFactory): owner = factory.SubFactory( "terra_accounts.tests.factories.TerraUserFactory") date = timezone.datetime(2018, 1, 1, tzinfo=timezone.utc) file = FileField(from_path="terra_opp/tests/placeholder.jpg") class Meta: model = Picture
def test_dont_overwrite_keys(self): text = b"Hello! I'm not really a key :D" taxpayer = factories.TaxPayerFactory(key=FileField(data=text)) taxpayer.generate_key() key = taxpayer.key.read() self.assertEqual(text, key)
class PictureFactory(factory.DjangoModelFactory): owner = factory.SubFactory( 'terracommon.accounts.tests.factories.TerraUserFactory') date = timezone.datetime(2018, 1, 1, tzinfo=timezone.utc) file = FileField(from_path='terracommon/tropp/tests/placeholder.jpg') class Meta: model = Picture
class AttachmentFactory(DjangoModelFactory): FACTORY_FOR = Attachment original_filename = Sequence(lambda n: 'original_filename'.format(n)) file = FileField( data=b'uploaded_file_content', filename='uploaded_filename.txt', ) uploaded_by = SubFactory(UserFactory)
class UploadedFileFactory(DjangoModelFactory): class Meta: model = UploadedFile benefactor = SubFactory(StudentFactory) owner = LazyAttribute(lambda o: o.benefactor.user) category = 'psets' content = FileField(filename='pset.txt') unit = SubFactory(UnitFactory)
class QuestionFileFactory(DjangoModelFactory): file = FileField() name = Faker('sentence') description = Faker('text') question = SubFactory(QuestionFactory) class Meta: model = 'defenders_app.QuestionFile' django_get_or_create = ('name', )
class ReportOdtSourceFactory(DjangoModelFactory): FACTORY_FOR = ReportOdtSource name = Sequence(lambda n: 'Report ODT #%s' % n) template = FileField( data=b'uploaded_file_content', filename='uploaded_filename.txt', ) @lazy_attribute def slug(self): return slugify(self.name)
class LanguageFactory(DjangoModelFactory): name = Faker('word') code = Faker('pystr', max_chars=2) file = FileField() class Meta: model = 'defenders_app.Language' django_get_or_create = ( 'name', 'code', )
def test_bogus_certificate_exception(self): """Test that using a junk ceritificates raises as expected.""" # New TaxPayers will fail to save with an invalid cert, but many # systems may have very old TaxPayers, externally created, or other # stuff, so this scenario might still be possible. with patch( 'django_afip.models.TaxPayer.get_certificate_expiration', spec=True, return_value=None, ): taxpayer = factories.TaxPayerFactory( key=FileField(data=b'Blah'), certificate=FileField(data=b'Blah'), ) with self.assertRaises(exceptions.CorruptCertificate) as e: taxpayer.create_ticket('wsfe') self.assertNotIsInstance(e, exceptions.AfipException)
class TransitionsHistoryFactory(DjangoModelFactory): FACTORY_FOR = TransitionsHistory transition = SubFactory(TransitionFactory) logged_user = SubFactory(UserFactory) affected_user = SubFactory(UserFactory) report_filename = Sequence(lambda n: 'report'.format(n)) uid = Sequence(lambda n: 'uid'.format(n)) report_file = FileField( data=b'uploaded_file_content', filename='report_file.txt', )
class AttachmentFactory(DjangoModelFactory): class Meta: model = Attachment _signal = SubFactory('signals.apps.signals.factories.signal.SignalFactory') created_by = Sequence(lambda n: 'veelmelder{}@example.com'.format(n)) file = FileField() @post_generation def set_one_to_one_relation(self, create, extracted, **kwargs): self.signal = self._signal self.is_image = True self.save()
def test_with_key(self): taxpayer = fixtures.TaxPayerFactory(key=FileField(data=b'Blah')) client = Client() client.force_login(self.user) response = client.post('/admin/afip/taxpayer/', data={ '_selected_action': [taxpayer.id], 'action': 'generate_key', }, follow=True) self.assertEqual(response.status_code, 200) self.assertContains( response, 'No keys generated; Taxpayers already had keys.', ) taxpayer.refresh_from_db() self.assertEqual('Blah', taxpayer.key.file.read().decode())
def test_with_key(self): taxpayer = factories.TaxPayerFactory(key=FileField(data=b"Blah")) client = Client() client.force_login(self.user) response = client.post( "/admin/afip/taxpayer/", data={ "_selected_action": [taxpayer.id], "action": "generate_key" }, follow=True, ) self.assertEqual(response.status_code, 200) self.assertContains( response, "No keys generated; Taxpayers already had keys.", ) taxpayer.refresh_from_db() self.assertEqual("Blah", taxpayer.key.file.read().decode())
def create_dsource(filename): return DataSourceFactory.create( name="Test Data Source", file=FileField(filename=filename, data=make_csv().getvalue()), meta_data=None, )
class EventUpdateFactory(DjangoModelFactory): FACTORY_FOR = EventUpdate audio = FileField() video = FileField()
class SemesterDownloadFileFactory(DjangoModelFactory): class Meta: model = SemesterDownloadFile semester = SubFactory(SemesterFactory) content = FileField(filename='announcement.txt')