Beispiel #1
0
def test_plugin_hdfs_add():
    dict1 = si_app.get_data_source_dict(ds_name=hdfs_ds_dict['ds_name'])
    assert dict1 is None

    si_app.add_data_soruce(hdfs_ds_dict)
    dict1 = si_app.get_data_source_dict(ds_name=hdfs_ds_dict['ds_name'])
    assert dict1['ds_param']['hdfs_web_url'] == 'http://localhost:50070'
Beispiel #2
0
def test_plugin_mysql_add(resource_a_setup):
    dict1 = si_app.get_data_source_dict(ds_name=ds_dict['ds_name'])
    assert dict1 is None

    si_app.add_data_soruce(ds_dict)
    dict1 = si_app.get_data_source_dict(ds_name=ds_dict['ds_name'])
    assert dict1['ds_param']['connect_string'] == ds_dict['ds_param'][
        'connect_string']
Beispiel #3
0
    def post(self):
        ds_dict = {}
        # ds_dict['table_group_name']  = self.get_argument('table_group_name')
        ds_dict['ds_name'] = self.get_argument('ds_name')
        ds_dict['ds_url'] = self.get_argument('ds_url')
        ds_dict['ds_type'] = self.get_argument('ds_type')

        si_app.add_data_soruce(ds_dict)

        Info = {'result': 'ok'}
        self.write(json.dumps(Info))
Beispiel #4
0
        replace_dict = {'$$file_path$$': table_id,
                        '$$hdfs_web_url$$': self.ds_dict['ds_param']['hdfs_web_url']}
        # snippet_result = (reduce(lambda a, kv: a.replace(*kv), replace_dict.iteritems(), snippet_template))
        snippet_result = snippet_template
        for key in replace_dict.keys():
            snippet_result = snippet_result.replace(key, replace_dict[key])

        # print(snippet_result)
        return snippet_result

if __name__ == "__main__":
    ds_dict = {
        'ds_name': 'hdfs1',
        'ds_type': 'hdfsindex',
        'ds_desc': 'created by unittest of hdfsindex',
        'ds_url': 'http://localhost:50070',
        'ds_param': {'hdfs_web_url': 'http://localhost:50070',
                     'hdfs_url': 'hdfs://localhost:9000',
                     'start_inotify': 'off',
                     'root_path': '/',
                     'inotify_trx_id': '-1',
                     }
    }

    si_app.add_data_soruce(ds_dict)
    a = HDFSIndexEngine(ds_dict = ds_dict)
    a.reflect()



Beispiel #5
0
    def post(self):
        ds_dict = {}
        ds_dict['ds_name'] = self.get_argument('ds_name')
        ds_dict['ds_desc'] = self.get_argument('ds_desc')
        ds_dict['ds_type'] = self.get_argument('ds_type')

        ds_dict['reflect_database_automatic'] = self.get_argument(
            'reflect_database_automatic', default='off')

        ds_dict['ds_param'] = {}
        ds_plugin_info = si_app.get_plugin_info(
            p_plugin_name=ds_dict['ds_type'])
        param_name_dict = json.loads(ds_plugin_info.ds_param)
        for param_name in param_name_dict.keys():
            if param_name_dict[param_name]['type'] == 'Boolean':
                ds_dict['ds_param'][param_name] = self.get_argument(
                    'ds_param.' + param_name, default=False)
            else:
                ds_dict['ds_param'][param_name] = self.get_argument(
                    'ds_param.' + param_name)

        try:
            si_app.add_data_soruce(ds_dict)
            if (ds_dict['reflect_database_automatic'] == 'on'):
                si_pm.reflect_db(ds_dict['ds_name'])

            #Info = {'result': 'ok', 'message': 'A new data source is added.'}
            self.redirect('./database_summary?ds_name=' + ds_dict['ds_name'])
        except Exception as e:
            si_app.logger.error('failed to add data source!')
            si_app.logger.error(e)
            #Info = {'result': 'ok', 'message': 'A new data source is added.'}
            dbrs = si_app.get_data_source_rs()
            result_message = {
                'message_type':
                'danger',
                'message_title':
                'Error',
                'message_body':
                'Failed to add data source: %s! The error was: %s' %
                (str(ds_dict['ds_name']), str(e))
            }

            base_navigation_dict = {
                'selected_menu': 'database',
                'self.request.path': self.request.path,
                'dbrs': dbrs,
                'selected_add_data_source': True,
                'plugin_name_list': si_app.get_plugin_name_list(),
                'selected_schema_name': ds_dict['ds_name'],
                'message': result_message,
                'db': ds_dict,
            }
            base_navigation_dict['input_db_type'] = ds_dict['ds_type']
            plugin_info = si_app.get_plugin_info(
                p_plugin_name=ds_dict['ds_type'])
            base_navigation_dict['input_ds_param'] = json.loads(
                plugin_info.ds_param)

            #self.render("database_summary.html",
            #            base_navigation_dict=base_navigation_dict)
            self.write(
                self.render_template(
                    'database_summary.html',
                    base_navigation_dict=base_navigation_dict,
                ))