Ejemplo n.º 1
0
def test_cube_desc(response):
    with open(f('cube_desc_v1.json')) as fd:
        v1_str = clean_json(fd.read())

    with open(f('cube_desc_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    response.side_effect = [
        MockResponse(v1_str),
        MockResponse(v2_str),
        MockResponse(v1_str),
        MockResponse(v2_str)
    ]
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        version='v1',
                        project='learn_kylin').cube_desc('kylin_sales_cube'))
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        version='v2',
                        project='learn_kylin').cube_desc('kylin_sales_cube'))
Ejemplo n.º 2
0
def test_users(response):
    with open(f('users_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    with pytest.raises(KAPOnlyError):
        kylinpy.Kylinpy('host', 7070, 'username', 'password',
                        version='v1').users()

    response.side_effect = [MockResponse(v2_str)]
    assert check_response(
        kylinpy.Kylinpy('host', 7070, 'username', 'password',
                        version='v2').users())
Ejemplo n.º 3
0
def test_tables(response):
    response.side_effect = [
        MockResponse({}),
        MockResponse({
            'data': {},
            'code': 000,
            'msg': ''
        })
    ]
    v1 = kylinpy.Kylinpy('host', 'username', 'password', version='v1').tables()
    v2 = kylinpy.Kylinpy('host', 'username', 'password', version='v2').tables()
    assert v1 == v2
Ejemplo n.º 4
0
def test_projects(response):
    with open(f('projects_v1.json')) as fd:
        v1_str = clean_json(fd.read())

    with open(f('projects_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    response.side_effect = [MockResponse(v1_str), MockResponse(v2_str)]

    assert check_response(
        kylinpy.Kylinpy('host', 7070, 'username', 'password',
                        version='v1').projects())
    assert check_response(
        kylinpy.Kylinpy('host', 7070, 'username', 'password',
                        version='v2').projects())
Ejemplo n.º 5
0
def test_users(response):
    with pytest.raises(KAPOnlyError):
        kylinpy.Kylinpy('host', 'username', 'password', version='v1').users()

    response.side_effect = [
        MockResponse({
            'data': {
                'users': []
            },
            'code': 000,
            'msg': ''
        })
    ]
    v2 = kylinpy.Kylinpy('host', 'username', 'password', version='v2').users()
    assert v2 == {'data': []}
Ejemplo n.º 6
0
def test_projects(response):
    response.side_effect = [
        MockResponse([]),
        MockResponse({
            'data': {
                'projects': []
            },
            'code': 000,
            'msg': ''
        })
    ]
    v1 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v1').projects()
    v2 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v2').projects()
    assert v1 == v2
Ejemplo n.º 7
0
def test_cube_desc(response):
    response.side_effect = [
        MockResponse({}),
        MockResponse({
            'data': {
                'cube': {}
            },
            'code': 000,
            'msg': ''
        })
    ]

    v1 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v1').cube_desc('cube_name')
    v2 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v2').cube_desc('cube_name')
    assert v1 == v2
Ejemplo n.º 8
0
def test_cube_desc():
    response = Mock()
    response.body = []
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v1 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v1').cube_desc('cube_name')

    response = Mock()
    response.body = {'data': {'cube': []}, 'code': 000, 'msg': ''}
    response.headers = {}
    v2 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v2').cube_desc('cube_name')
    assert v1 == v2
Ejemplo n.º 9
0
def test_authentication(response):
    response.side_effect = [
        MockResponse({'userDetails': {
            'authorities': {}
        }}),
        MockResponse({
            'data': {
                'authorities': {}
            },
            'code': 000,
            'msg': ''
        })
    ]
    v1 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v1').authentication()
    v2 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v2').authentication()
    assert v1 == v2
Ejemplo n.º 10
0
def test_get_table_names(response):
    response.side_effect = [
        MockResponse([{
            'table_NAME': 'table1'
        }]),
        MockResponse({
            'data': [{
                'table_NAME': 'table1'
            }],
            'code': 000,
            'msg': ''
        })
    ]
    v1 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v1').get_table_names()
    v2 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v2').get_table_names()
    assert v1 == v2
Ejemplo n.º 11
0
def test_tables_and_columns():
    response = Mock()
    response.body = []
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v1 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v1').tables_and_columns()

    response = Mock()
    response.body = {'data': [], 'code': 000, 'msg': ''}
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v2 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v2').tables_and_columns()
    assert v1 == v2
Ejemplo n.º 12
0
def test_authentication():
    response = Mock()
    response.body = {'userDetails': {'authorities': {}}}
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v1 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v1').authentication()

    response = Mock()
    response.body = {'data': {'authorities': {}}, 'code': 000, 'msg': ''}
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v2 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v2').authentication()
    assert v1 == v2
Ejemplo n.º 13
0
def test_query():
    response = Mock()
    response.body = {}
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v1 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v1').query('sql')

    response = Mock()
    response.body = {'data': {}, 'code': 000, 'msg': ''}
    response.headers = {}
    Client.fetch = Mock(return_value=response)
    v2 = kylinpy.Kylinpy(host='host',
                         username='******',
                         password='******',
                         version='v2').query('sql')
    assert v1 == v2
Ejemplo n.º 14
0
def test_model_desc(response):
    response.side_effect = [
        MockResponse([{
            'name': 'model_name'
        }]),
        MockResponse({
            'data': {
                'model': {
                    'name': 'model_name'
                }
            },
            'code': 000,
            'msg': ''
        })
    ]

    v1 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v1').model_desc('model_name')
    v2 = kylinpy.Kylinpy('host', 'username', 'password',
                         version='v2').model_desc('model_name')
    assert v1 == v2
Ejemplo n.º 15
0
def test_tables_and_columns(response):
    with open(f('tables_and_columns_v1.json')) as fd:
        v1_str = clean_json(fd.read())

    with open(f('tables_and_columns_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    response.side_effect = [MockResponse(v1_str), MockResponse(v2_str)]
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        version='v1',
                        project='learn_kylin').tables_and_columns())
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        version='v2',
                        project='learn_kylin').tables_and_columns())
Ejemplo n.º 16
0
def test_query(response):
    with open(f('query_v1.json')) as fd:
        v1_str = clean_json(fd.read())

    with open(f('query_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    sql = "select count(*) from KYLIN_ACCOUNT"

    response.side_effect = [MockResponse(v1_str), MockResponse(v2_str)]
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        project='learn_kylin',
                        version='v1').query(sql))
    assert check_response(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        project='learn_kylin',
                        version='v2').query(sql))
Ejemplo n.º 17
0
def test_get_table_names_v2(response):
    with open(f('tables_and_columns_v2.json')) as fd:
        v2_str = clean_json(fd.read())

    with open(f('get_table_names_v2.json')) as fd:
        get_table_names_str = clean_json(fd.read())

    response.side_effect = [MockResponse(v2_str)]
    assert to_str(
        kylinpy.Kylinpy(
            'host',
            7070,
            'username',
            'password',
            version='v2',
            project='learn_kylin').get_table_names()) == get_table_names_str
Ejemplo n.º 18
0
def test_get_table_columns_v1(response):
    with open(f('tables_and_columns_v1.json')) as fd:
        v1_step1 = clean_json(fd.read())
    with open(f('tables_v1.json')) as fd:
        v1_step2 = clean_json(fd.read())
    with open(f('get_table_columns_v1.json')) as fd:
        get_table_columns_v1_str = clean_json(fd.read())

    response.side_effect = [MockResponse(v1_step1), MockResponse(v1_step2)]
    assert to_str(
        kylinpy.Kylinpy('host',
                        7070,
                        'username',
                        'password',
                        version='v1',
                        project='learn_kylin').get_table_columns(
                            'KYLIN_SALES')) == get_table_columns_v1_str