def test_write_assert_list(self):
     data = [{
         'name': 'kilo',
         'password': 9999,
         'groups': ['admin', 'users'],
         'config': {
             'server': 'all',
             'bulding': 116
         }
     }, {
         'name': 'pasto',
         'password': '******',
         'groups': ['users'],
         'config': {
             'server': 'database',
             'bulding': 116
         },
         'created': '2016-10-01',
         'modified': '2016-10-01'
     }]
     filename = write_assert_list(self.test_write_assert_list.filename,
                                  data, 'data')
     self.assertEqual(filename, self.test_write_assert_list.filename)
     hash_digest = hash_file(filename)
     self.assertEqual('5cd2e29830c5c0a9af1e60a8f08b3ffc49cf92fb',
                      hash_digest)
 def test_print_paths(self):
     filename = self.test_print_paths.filename
     generator = UrlGenerator('Server')
     generator.print_paths(filename)
     self.assertTrue(os.path.exists(filename))
     hash = hash_file(filename)
     self.assertEqual(hash, 'de4251b6c78a5911b6c3440c580de05d4d417c59')
    def test_print(self):
        filename = self.test_print.filename
        generator = SerializerTestGenerator()
        data = dict()
        try:
            my_module = importlib.import_module("servers.api.serializers")
        except:
            my_module = importlib.import_module(
                "example.servers.api.serializers")
        ServerSerializer = getattr(my_module, "ServerSerializer")

        serializer = ServerSerializer()
        rep_ser = repr(serializer)
        fields = list()
        str_fields = list()
        for field in serializer.fields:
            fields.append(field)

        for key, field in serializer.fields.fields.items():
            if type(field).__name__ in ['CharField', 'TextField']:
                str_fields.append(field.field_name)
            print(key)

        data['model_name'] = serializer.Meta.model.__name__
        data['fields'] = fields
        data['string_vars'] = str_fields
        generator.print(data, filename)
        hash = hash_file(filename)
        self.assertEqual(hash, '7ef21355fba29674cadb111e6217b1ed100d5e5a')
 def test_print_urls(self):
     filename = self.test_print_urls.filename
     generator = UrlGenerator('Server')
     generator.print_urls(filename)
     self.assertTrue(os.path.exists(filename))
     hash = hash_file(filename)
     self.assertEqual(hash, '14ef340ea846e3d37fd71d80362a5225e05133a3')
示例#5
0
 def test_temporary_folder_write_list(self):
     with TemporaryFolder('my_temp_list', delete_on_exit=True) as folder:
         self.assertTrue(os.path.exists(folder.new_path))
         filename = folder.write('m.txt', ['kilo', 'boma'])
         digest = hash_file(filename)
         self.assertEqual('5585c5895705bb5fe8906a2fd93453af5ee643b5',
                          digest)
     self.assertFalse(os.path.exists(folder.new_path))
示例#6
0
 def test_temporary_folder_write_str(self):
     with TemporaryFolder('my_temp_str') as folder:
         self.assertTrue(os.path.exists(folder.new_path))
         filename = folder.write('m.txt', 'Hola')
         digest = hash_file(filename)
         self.assertEqual('4e46dc0969e6621f2d61d2228e3cd91b75cd9edc',
                          digest)
     self.assertFalse(os.path.exists(folder.new_path))
示例#7
0
 def test_temporary_folder_write_other(self):
     with TemporaryFolder('my_temp_date') as folder:
         self.assertTrue(os.path.exists(folder.new_path))
         filename = folder.write('m.txt', datetime.date(2016, 12, 3))
         digest = hash_file(filename)
         self.assertEqual('2b7db434f52eb470e1a6dcdc39063536c075a4f0',
                          digest)
     self.assertFalse(os.path.exists(folder.new_path))
 def test_write_servers(self):
     generator = FactoryBoyGenerator()
     factory_data = generator.create_template_data(
         settings.TEST_APP_SERVERS)
     template_name = 'factories.py.j2'
     writer = GenericTemplateWriter(template_name)
     writer.write(factory_data, self.test_write_servers.filename)
     hash = hash_file(self.test_write_servers.filename)
     self.assertEqual(hash, '5cf89c49762055625bc22ef2a09be220768edb6d')
    def test_write_people(self):
        generator = FactoryBoyGenerator()
        factory_template_data = generator.create_template_data(
            settings.TEST_APP_PEOPLE)

        template_name = 'factories.py.j2'
        writer = GenericTemplateWriter(template_name)
        writer.write(factory_template_data, self.test_write_people.filename)
        hash = hash_file(self.test_write_people.filename)
        self.assertEqual(hash, '799fd2de59c6ee8e973855b44985bbd12b16fbdd')
示例#10
0
 def test_convert_to_dict(self):
     import environ
     full_path = (environ.Path(__file__) - 1).path(
         'fixtures', 'excel_to_json.xlsx').root
     dict_data = ExcelAdapter.convert_to_dict(full_path)
     output = self.test_convert_to_dict.filename
     with open(output, 'w') as json_file:
         json.dump(dict_data, json_file)
     hash = hash_file(output)
     self.assertEqual(hash, '6ae7bfd81e52ace91f619e4b5586eb687888f43b')
    def test_write_summary(self):
        parser = Flake8Parser()
        filename = self.test_write_summary.filename
        with open(filename, 'w', encoding='utf-8') as pep8_file:
            pep8_file.write(self.content)

        out_filename = create_dated('pep8_violations.csv')
        parser.write_summary(filename, out_filename)
        digest = hash_file(out_filename)
        self.assertEqual('20f5184854bd10ed0998c8e9029175ed08b097e0', digest)
        self.clean_output_folder(out_filename)
    def test_print_snake_case(self):
        filename = self.test_print_snake_case.filename
        generator = SerializerTestGenerator()
        data = dict()
        fields = ['name', 'power']
        str_fields = ['name']

        data['model_name'] = 'ComplicatedObject'
        data['fields'] = fields
        data['string_vars'] = str_fields
        generator.print(data, filename)
        hash = hash_file(filename)
        self.assertEqual(hash, 'b635eaef01ce567e83fd5700a5888e783caf3c6e')
    def test_write_assertions(self):
        data = [{
            'name': 'kilo',
            'password': 9999,
            'groups': ['admin', 'users'],
            'config': {
                'server': 'all',
                'bulding': 116
            }
        }, {
            'name': 'pasto',
            'password': '******',
            'groups': ['users'],
            'config': {
                'server': 'database',
                'bulding': 116
            },
            'created': '2016-10-01',
            'modified': '2016-10-01'
        }]
        filename = write_assertions(
            data,
            'data',
            filename=self.test_write_assertions.filename,
            excluded_keys=['config'])
        self.assertEqual(filename, self.test_write_assertions.filename)
        hash_digest = hash_file(filename)
        self.assertEqual(hash_digest,
                         'bd059f11bb7a5a2db70c89d94c9cd681f4684fa4')
        content = self.get_txt_content(filename)

        self.assertEqual(len(content), 10)
        self.assertEqual(content[0], 'self.assertEqual(len(data), 2)')
        self.assertEqual(content[1],
                         'self.assertEqual(len(data[0][\'groups\']), 2)')
        self.assertEqual(
            content[2], 'self.assertEqual(data[0][\'groups\'][0], \'admin\')')
        self.assertEqual(
            content[3], 'self.assertEqual(data[0][\'groups\'][1], \'users\')')
        self.assertEqual(content[4],
                         'self.assertEqual(data[0][\'name\'], \'kilo\')')
        self.assertEqual(content[5],
                         'self.assertEqual(data[0][\'password\'], 9999)')
        self.assertEqual(content[6],
                         'self.assertEqual(len(data[1][\'groups\']), 1)')
        self.assertEqual(
            content[7], 'self.assertEqual(data[1][\'groups\'][0], \'users\')')
        self.assertEqual(content[8],
                         'self.assertEqual(data[1][\'name\'], \'pasto\')')
        self.assertEqual(content[9],
                         'self.assertEqual(data[1][\'password\'], \'nogo\')')
示例#14
0
    def test_upload(self):
        source_filename = '../../requirements/base.txt'
        source_hash = hash_file(source_filename)
        bucket = settings.AWS_STORAGE_BUCKET_NAME
        object_name = 'base_req.txt'
        output_filename = self.test_upload.filename

        self.s3_client.upload_file(source_filename, bucket, object_name)

        self.s3_client.download_file(bucket, object_name, output_filename)

        output_hash = hash_file(output_filename)
        res = self.s3_client.get_object_acl(Bucket=bucket, Key=object_name)
        print(res)
        self.s3_client.delete_object(Bucket=bucket, Key=object_name)
        self.assertEqual(output_hash, source_hash)
        self.assertTrue(os.path.exists(output_filename))
        try:
            self.s3_client.get_object_acl(Bucket=bucket, Key=object_name)
            self.fail('Should have raised a NoSuchKey exception')
        except Exception:
            pass
        print(res)
 def test_excel_to_json(self):
     import environ
     output = self.test_excel_to_json.filename
     excel_file = (environ.Path(__file__) - 1).path(
         'fixtures', 'excel_to_json.xlsx').root
     call_command('convert_to_json',
                  input=excel_file,
                  output=output,
                  stdout=self.content)
     hash = hash_file(output)
     app_name = settings.TEST_APP_SERVERS
     if app_name == 'example.servers':
         self.assertEqual(hash, '535ffac988e95a1536fe6803ea7d78c99b1c28df')
     else:
         self.assertEqual(hash, '535ffac988e95a1536fe6803ea7d78c99b1c28df')
 def test_generate_factories(self):
     call_command('generate_factories',
                  settings.TEST_APP_SERVERS,
                  stdout=self.content)
     results = self.get_results()
     self.assertEqual(44, len(results))
     filename = create_output_filename_with_date(
         'example_my_app_factory.py')
     with open(filename, 'w', encoding='utf-8') as factory_file:
         for line in results:
             factory_file.write(line)
             factory_file.write('\n')
     hash_sha = hash_file(filename, algorithm='sha256')
     self.assertEqual(
         'c8c331856529fe10afe8460de8dbd04b5f208d2a4922c275c1f6309bf7a3ed95',
         hash_sha)
     self.clean_output_folder(filename)
示例#17
0
 def write_generator_to_file(self, filename, generator):
     with open(filename, 'w', encoding='utf-8') as py_file:
         py_file.write(str(generator))
     hash = hash_file(filename)
     return hash
    def test_write_assertions_type_only(self):
        data = [{
            'name': 'kilo',
            'password': 9999,
            'groups': ['admin', 'users'],
            'config': {
                'server': 'all',
                'bulding': 116
            }
        }, {
            'name': 'pasto',
            'password': '******',
            'groups': ['users'],
            'config': {
                'server': 'database',
                'bulding': None
            },
            'created_date': date(2016, 1, 3),
            'modified': '2016-10-01'
        }]
        filename = write_assertions(
            data,
            'data',
            filename=self.test_write_assertions_type_only.filename,
            type_only=True)

        self.assertEqual(filename,
                         self.test_write_assertions_type_only.filename)
        hash_digest = hash_file(filename)
        self.assertEqual(hash_digest,
                         'ca1619b2945c6a5934e4778c6157fa8392656f44')
        content = self.get_txt_content(filename)
        self.assertEqual(len(content), 19)
        self.assertEqual(content[0], 'self.assertEqual(len(data), 2)')
        self.assertEqual(content[1],
                         'self.assertEqual(len(data[0].keys()), 4)')
        self.assertEqual(
            content[2], 'self.assertEqual(len(data[0][\'config\'].keys()), 2)')
        self.assertEqual(
            content[3],
            'self.assertIsNotNone(data[0][\'config\'][\'bulding\']) # Example: 116'
        )
        self.assertEqual(
            content[4],
            'self.assertIsNotNone(data[0][\'config\'][\'server\']) # Example: all'
        )
        self.assertEqual(content[5],
                         'self.assertEqual(len(data[0][\'groups\']), 2)')
        self.assertEqual(
            content[6],
            'self.assertIsNotNone(data[0][\'groups\'][0]) # Example: admin')
        self.assertEqual(
            content[7],
            'self.assertIsNotNone(data[0][\'groups\'][1]) # Example: users')
        self.assertEqual(
            content[8],
            'self.assertIsNotNone(data[0][\'name\']) # Example: kilo')
        self.assertEqual(
            content[9],
            'self.assertIsNotNone(data[0][\'password\']) # Example: 9999')
        self.assertEqual(content[10],
                         'self.assertEqual(len(data[1].keys()), 6)')
        self.assertEqual(
            content[11],
            'self.assertEqual(len(data[1][\'config\'].keys()), 2)')
        self.assertEqual(
            content[12],
            'self.assertIsNone(data[1][\'config\'][\'bulding\']) # Example: None'
        )
        self.assertEqual(
            content[13],
            'self.assertIsNotNone(data[1][\'config\'][\'server\']) # Example: database'
        )
        self.assertEqual(
            content[14],
            'self.assertRegex(data[1][\'created_date\'].strftime(\'%Y-%m-%d\'), r\'([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))\') # Example: 2016-01-03'
        )
        self.assertEqual(content[15],
                         'self.assertEqual(len(data[1][\'groups\']), 1)')
        self.assertEqual(
            content[16],
            'self.assertIsNotNone(data[1][\'groups\'][0]) # Example: users')
        self.assertEqual(
            content[17],
            'self.assertIsNotNone(data[1][\'name\']) # Example: pasto')
        self.assertEqual(
            content[18],
            'self.assertIsNotNone(data[1][\'password\']) # Example: nogo')
    def test_write_assert_regexp(self):
        data = [{
            'name': 'kilo',
            'password': 9999,
            'groups': ['ADMIN', 'USERS'],
            'config': {
                'server': 'all',
                'bulding': 116
            }
        }, {
            'name': 'pasto',
            'password': '******',
            'groups': ['users'],
            'config': {
                'server': 'database',
                'bulding': 116
            },
            'time': '11:45',
            'cost': '1234.45',
            'created': '2016-10-01',
            'modified': '2016-10-01'
        }]
        filename = self.test_write_assert_regexp.filename
        assertion_writer = AssertionWriter(use_regexp_assertion=True)
        assertion_writer.add_regular_expression('constant', '^[A-Z]+$')
        assertion_writer.write_assert_list(data, 'data', filename=filename)
        hash_digest = hash_file(filename)

        content = self.get_txt_content(filename)

        self.assertEqual(len(content), 16)
        self.assertEqual(content[0], 'self.assertEqual(len(data), 2)')
        self.assertEqual(
            content[1],
            'self.assertEqual(data[0][\'config\'][\'bulding\'], 116)')
        self.assertEqual(
            content[2],
            'self.assertEqual(data[0][\'config\'][\'server\'], \'all\')')
        self.assertEqual(content[3],
                         'self.assertEqual(len(data[0][\'groups\']), 2)')
        self.assertEqual(
            content[4],
            'self.assertRegex(data[0][\'groups\'][0], r\'^[A-Z]+$\')')
        self.assertEqual(
            content[5],
            'self.assertRegex(data[0][\'groups\'][1], r\'^[A-Z]+$\')')
        self.assertEqual(content[6],
                         'self.assertEqual(data[0][\'name\'], \'kilo\')')
        self.assertEqual(content[7],
                         'self.assertEqual(data[0][\'password\'], 9999)')
        self.assertEqual(
            content[8],
            'self.assertEqual(data[1][\'config\'][\'bulding\'], 116)')
        self.assertEqual(
            content[9],
            'self.assertEqual(data[1][\'config\'][\'server\'], \'database\')')
        self.assertEqual(
            content[10],
            'self.assertRegex(data[1][\'cost\'], r\'^(\d+\.\d+)$\')')
        self.assertEqual(content[11],
                         'self.assertEqual(len(data[1][\'groups\']), 1)')
        self.assertEqual(
            content[12], 'self.assertEqual(data[1][\'groups\'][0], \'users\')')
        self.assertEqual(content[13],
                         'self.assertEqual(data[1][\'name\'], \'pasto\')')
        self.assertEqual(content[14],
                         'self.assertEqual(data[1][\'password\'], \'nogo\')')
        self.assertEqual(
            content[15],
            'self.assertRegex(data[1][\'time\'], r\'^([0-1][0-9]|2[0-4]):([0-5][0-9])$\')'
        )
 def test_write_totals(self):
     parser = RadonParser()
     parser.write_totals(self.filename, self.test_write_totals.filename)
     digest = hash_file(self.test_write_totals.filename)
     self.assertEqual('cc1ff3f88b894cf807e8fc755dfb26c3806bb41c', digest)
     self.clean_output_folder(self.filename)