def rendered_result(self) -> Tuple[str, str]: return self.template.render( name=self.name, field_types=[ 'createTypeInformation[{}]'.format(i) for i in self.data_type ], field_names=[quote(i) for i in self.field_names], data_type=format_types(self.data_type), driver=self.driver, db_url=self.db_url, query=self.query, filter_null=self.filter_null, filter_fields=[ 't._{} != null'.format(i + 1) for i in range(len(self.data_type)) ]), self.template_ext.render()
def test_render(self, mock_get_template: unittest.mock.patch): """ Should call render method with right parameters """ mock_get_template.return_value = self.template_mock json_importer = JsonImporter(self.module, self.env, []) result = json_importer.rendered_result() self.assertEqual(result, ("", "")) self.template_mock.render.assert_called_once_with( file_path=self.module.get('path'), name=self.module.get('name'), main_field=self.module.get('mainField'), required_fields=[ quote(i) for i in self.module.get('requiredFields') ], type=format_types( len(self.module.get('requiredFields'))*["String"]) )
def __init__(self, module, env: Environment, named_modules): super().__init__(module, env, named_modules) self.main_field = module.get('mainField') if self.main_field is None: raise ValueError("No main field specified in module JsonImporter\ {}".format(self.name)) if not isinstance(module.get('requiredFields'), list): raise ValueError( "No required fields specified in module JsonImporter\ {}".format(self.name)) self.required_fields = [quote(i) for i in module.get('requiredFields')] self.data_type = ["String"] * len(module.get('requiredFields')) self.template_path = os.path.join(self.template_path, 'scala_json_loader.template') self.template = self.env.get_template(self.template_path)
def __init__(self, module, env: Environment, named_modules): super().__init__(module, env, named_modules) self.db_name = module.get('dbName') self.collection = module.get('collection') if self.db_name is None or self.collection is None: raise ValueError( "No db name, collection pair specified in module MongoImporter\ {}".format(self.name)) if not isinstance(module.get('requiredFields'), list): raise ValueError( "No required fields specified in module MongoImporter\ {}".format(self.name)) self.required_fields = [quote(i) for i in module.get('requiredFields')] self.data_type = ["String"] * len(module.get('requiredFields')) self.template_path = os.path.join('importers', 'scala_mongo_loader.template') self.template = self.env.get_template(self.template_path)
def test_quote(self): self.assertEqual("\"TEST\"", quote("TEST"))