177 lines
6.7 KiB
Python
177 lines
6.7 KiB
Python
#!/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""
|
|
/***************************************************************************
|
|
*
|
|
* @file test_sys_base64.py
|
|
* @date 2016/04/01 15:26:21
|
|
* @brief
|
|
*
|
|
**************************************************************************/
|
|
"""
|
|
import base64
|
|
import sys
|
|
import string
|
|
|
|
sys.path.append('..')
|
|
from lib import palo_client
|
|
from lib import util
|
|
from lib import palo_config
|
|
|
|
config = palo_config.config
|
|
LOG = palo_client.LOG
|
|
L = palo_client.L
|
|
|
|
|
|
def setup_module():
|
|
"""
|
|
setUp
|
|
"""
|
|
pass
|
|
|
|
|
|
def test_base64_random():
|
|
"""
|
|
base64 random
|
|
"""
|
|
database_name, table_name, index_name = util.gen_num_format_name_list()
|
|
LOG.info(L('', database_name=database_name, \
|
|
table_name=table_name, index_name=index_name))
|
|
client = palo_client.get_client(config.fe_host, config.fe_query_port, user=config.fe_user,
|
|
password=config.fe_password, http_port=config.fe_http_port)
|
|
assert client
|
|
|
|
raw_string = string.ascii_letters + string.digits
|
|
raw_bytes = bytes(raw_string, encoding='utf-8')
|
|
base64_string = client.execute('SELECT TO_BASE64("%s")' % (raw_string))[0][0]
|
|
assert base64_string == base64.standard_b64encode(raw_bytes).decode(), \
|
|
'expect %s' % base64.standard_b64encode(raw_string)
|
|
function_string = client.execute('SELECT FROM_BASE64("%s")' % (base64_string))[0][0]
|
|
assert function_string == raw_string, 'expect %s' % raw_string
|
|
|
|
|
|
def test_base64_crypt_random():
|
|
"""
|
|
base64 crypt random
|
|
"""
|
|
database_name, table_name, index_name = util.gen_num_format_name_list()
|
|
LOG.info(L('', database_name=database_name, \
|
|
table_name=table_name, index_name=index_name))
|
|
client = palo_client.get_client(config.fe_host, config.fe_query_port, user=config.fe_user,
|
|
password=config.fe_password, http_port=config.fe_http_port)
|
|
assert client
|
|
|
|
raw_string = string.ascii_letters + string.digits
|
|
key = string.ascii_letters + string.digits
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
assert function_string == raw_string
|
|
|
|
|
|
def test_base64_special():
|
|
"""
|
|
base64 special
|
|
"""
|
|
database_name, table_name, index_name = util.gen_num_format_name_list()
|
|
LOG.info(L('', database_name=database_name, \
|
|
table_name=table_name, index_name=index_name))
|
|
client = palo_client.get_client(config.fe_host, config.fe_query_port, user=config.fe_user,
|
|
password=config.fe_password, http_port=config.fe_http_port)
|
|
assert client
|
|
|
|
raw_string = ''
|
|
base64_string = client.execute('SELECT TO_BASE64("%s")' % (raw_string))[0][0]
|
|
#assert base64_string == base64.standard_b64encode(raw_string)
|
|
#function_string = client.execute('SELECT FROM_BASE64("%s")' % (base64_string))[0][0]
|
|
#assert function_string == raw_string
|
|
|
|
raw_string = u'中文'
|
|
base64_string = client.execute('SELECT TO_BASE64("%s")' % (raw_string))[0][0]
|
|
function_string = client.execute('SELECT FROM_BASE64("%s")' % (base64_string))[0][0]
|
|
assert function_string == raw_string
|
|
|
|
|
|
def test_base64_crypt_special():
|
|
"""
|
|
base64 crypt special
|
|
"""
|
|
database_name, table_name, index_name = util.gen_num_format_name_list()
|
|
LOG.info(L('', database_name=database_name, \
|
|
table_name=table_name, index_name=index_name))
|
|
client = palo_client.get_client(config.fe_host, config.fe_query_port, user=config.fe_user,
|
|
password=config.fe_password, http_port=config.fe_http_port)
|
|
assert client
|
|
|
|
raw_string = ''
|
|
key = string.ascii_letters + string.digits
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
# assert function_string == raw_string
|
|
|
|
raw_string = u'中文'
|
|
key = string.ascii_letters + string.digits
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
assert function_string == raw_string
|
|
|
|
|
|
def test_base64_crypt_special_key():
|
|
"""
|
|
base64 crypt special key
|
|
"""
|
|
database_name, table_name, index_name = util.gen_num_format_name_list()
|
|
LOG.info(L('', database_name=database_name, \
|
|
table_name=table_name, index_name=index_name))
|
|
client = palo_client.get_client(config.fe_host, config.fe_query_port, user=config.fe_user,
|
|
password=config.fe_password, http_port=config.fe_http_port)
|
|
assert client
|
|
|
|
raw_string = string.ascii_letters + string.digits
|
|
key = ''
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
# assert function_string == raw_string
|
|
|
|
raw_string = string.ascii_letters + string.digits
|
|
key = u'中文'
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
assert function_string == raw_string
|
|
|
|
raw_string = ''
|
|
key = ''
|
|
sql = 'SELECT TO_BASE64(AES_ENCRYPT("%s", "%s"))' % (raw_string, key)
|
|
base64_cypt_string = client.execute(sql)[0][0]
|
|
sql = 'SELECT AES_DECRYPT(FROM_BASE64("%s"), "%s")' % (base64_cypt_string, key)
|
|
function_string = client.execute(sql)[0][0]
|
|
# assert function_string == raw_string
|
|
|
|
|