def test_custom(): mixer = Mixer() @mixer.middleware(Test) def postprocess(x): # noqa x.name += ' Done' return x mixer.register( Test, name='Mike', one=mixer.faker.pyfloat, body=mixer.faker.date_time, ) test = mixer.blend(Test) assert test.name == 'Mike Done' assert isinstance(test.one, float) assert isinstance(test.body, datetime.datetime) from mixer.main import GenFactory class MyFactory(GenFactory): generators = {str: lambda: "Always same"} mixer = Mixer(factory=MyFactory, fake=False) test = mixer.blend(Test) assert test.name == "Always same"
def test_custom(self): mixer = Mixer() def postprocess(x): x.name += ' Done' return x mixer.register(Test, { 'name': 'Mike', 'one': mixer.G.get_float, 'body': lambda: mixer.G.get_datetime((1980, 1, 1)), }, postprocess=postprocess) test = mixer.blend(Test) self.assertEqual(test.name, 'Mike Done') self.assertTrue(isinstance(test.one, float)) self.assertTrue(test.body >= datetime.datetime(1980, 1, 1)) from mixer.main import GenFactory class MyFactory(GenFactory): generators = {str: lambda: "Always same"} mixer = Mixer(factory=MyFactory, fake=False) test = mixer.blend(Test) self.assertEqual(test.name, "Always same")
def test_mixer(self): mixer = Mixer() gen = ('test{0}'.format(i) for i in range(500)) test = mixer.blend('tests.test_main.Test', name=gen) self.assertEqual(test.name, 'test0') name_gen = mixer.sequence(lambda c: 'test' + str(c)) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 'test2') name_gen = mixer.sequence('test{0}') test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 'test1') name_gen = mixer.sequence() test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 1) mixer.register('tests.test_main.Test', dict( name='Michel', one=lambda: 'ID', unknown="No error here" )) test = mixer.blend(Test) self.assertEqual(test.one, 'ID') self.assertEqual(test.name, 'Michel')
def test_silence(self): mixer = Mixer() def falsed(test): raise Exception('Unhandled') mixer.register(Test, postprocess=falsed) try: mixer.blend(Test) raise AssertionError("Test should be failed.") except Exception: # noqa pass with mixer.ctx(silence=True): mixer.blend(Test)
def test_mixer(self): mixer = Mixer() self.assertEqual(Mixer.SKIP, mixer.SKIP) try: Mixer.SKIP = 111 raise AssertionError('test are failed') except AttributeError: pass try: mixer.SKIP = 111 raise AssertionError('test are failed') except AttributeError: pass gen = ('test{0}'.format(i) for i in range(500)) test = mixer.blend('tests.test_main.Test', name=gen) self.assertEqual(test.name, 'test0') name_gen = mixer.sequence(lambda c: 'test' + str(c)) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 'test2') name_gen = mixer.sequence('test{0}') test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 'test1') name_gen = mixer.sequence() test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) self.assertEqual(test.name, 1) mixer.register('tests.test_main.Test', dict( name='Michel', one=lambda: 'ID', unknown="No error here" )) test = mixer.blend(Test) self.assertEqual(test.one, 'ID') self.assertEqual(test.name, 'Michel')
def test_mixer(): mixer = Mixer() assert Mixer.SKIP == mixer.SKIP try: Mixer.SKIP = 111 raise AssertionError('test are failed') except AttributeError: pass try: mixer.SKIP = 111 raise AssertionError('test are failed') except AttributeError: pass gen = ('test{0}'.format(i) for i in range(500)) test = mixer.blend('tests.test_main.Test', name=gen) assert test.name == 'test0' name_gen = mixer.sequence(lambda c: 'test' + str(c)) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) assert test.name == 'test2' name_gen = mixer.sequence('test{0}') test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) assert test.name == 'test1' name_gen = mixer.sequence() test = mixer.blend(Test, name=name_gen) test = mixer.blend(Test, name=name_gen) assert test.name == 1 mixer.register('tests.test_main.Test', name='Michel', one=lambda: 'ID', unknown="No error here") test = mixer.blend(Test) assert test.one == 'ID' assert test.name == 'Michel'