Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
    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)
Exemplo n.º 4
0
    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"))