def test():
    logger = LogGen.loggen()

    url_sm_ui = ReadConfig.sm_user_interface()
    timeout = ReadConfig.timeout_sm()
    http = urllib3.PoolManager()

    ######### get list ###############
    logger.info('------- get list -------')

    r = http.request(
        method='GET',
        url=url_sm_ui+'users/get_list',
        fields={},
        retries=False,
        timeout=timeout)

    logger.info('response is type {}'.format(type(r)))
    logger.info('headers is type  {}'.format(type(r.headers)))
    logger.info('status is type   {}'.format(type(r.status)))
    logger.info('data is type     {}'.format(type(r.data)))
    logger.info('r.headers = {}'.format(r.headers))
    logger.info('r.status  = {}'.format(r.status))
    logger.info('r.data    = {}'.format(r.data))

    assert r.status == 200, "response has bad status"
    data = json.loads(r.data.decode('utf-8'))

    logger.info('------- work with the response data --------')
    for key,value in data.items():
        logger.info("{} {}".format(key,value))
    logger.info('there are {}'.format(len(data)))

    logger.info('------- test done --------')
示例#2
0
    def create_role_in_sm_ui(self, role_name):

        timeout = ReadConfig.timeout_sm()
        http = urllib3.PoolManager()

        ######### create role ###############
        # role_name = "test_" + datetime.now().strftime('%y%m%d%H%M%S%f')

        print("Creating Role from SM GDSystem UI is ::", role_name)

        self.logger.info(
            '------- create role with privs alternating one/zero {}'.format(
                role_name))

        body_raw = {
            'name': role_name,
            'privs_set': {
                'methods_create': '1',
                'methods_edit': '0',
                'methods_delete': '1',
                'aa_create': '0',
                'aa_edit': '1',
                'aa_delete': '0'
            }
        }
        body_encoded = json.dumps(body_raw).encode('utf-8')

        r = http.request(method='POST',
                         url=self.url_sm_ui + 'roles/create_role',
                         body=body_encoded,
                         headers={'Content-Type': 'application/json'},
                         retries=False,
                         timeout=timeout)

        ######### get/check ###############
        self.logger.info('------- get/check role -------')

        name = "Administrator"
        fields = {
            'name': role_name,
        }

        r = http.request(method='GET',
                         url=self.url_sm_ui + 'roles/get_role',
                         fields=fields,
                         retries=False,
                         timeout=timeout)

        assert r.status == 200, "response has bad status"
        data = json.loads(r.data.decode('utf-8'))

        assert data['privs_get']['methods_create'] == 1
        assert data['privs_get']['methods_edit'] == 0
        assert data['privs_get']['methods_delete'] == 1
        assert data['privs_get']['aa_create'] == 0
        assert data['privs_get']['aa_edit'] == 1
        assert data['privs_get']['aa_delete'] == 0

        self.logger.info('------- test done --------')
示例#3
0
    def update_role_in_sm_ui(self, role_name):
        logger = LogGen.loggen()

        url_sm_ui = ReadConfig.sm_user_interface()
        timeout = ReadConfig.timeout_sm()
        http = urllib3.PoolManager()

        ############## update ############
        logger.info(
            '------- update some privs in that role {}'.format(role_name))

        body_raw = {
            'name': role_name,
            'privs_set': {
                'methods_create': '1',
                'methods_edit': '0',
                # 'methods_delete': '1',
                'aa_create': '1',
                'aa_edit': '0',
                # 'aa_delete': '0'
            }
        }
        body_encoded = json.dumps(body_raw).encode('utf-8')

        r = http.request(method='POST',
                         url=url_sm_ui + 'roles/update_role',
                         body=body_encoded,
                         headers={'Content-Type': 'application/json'},
                         retries=False,
                         timeout=timeout)

        assert r.status == 200, "response has bad status"

        ######### get/check ###############
        logger.info('------- get/check role -------')

        fields = {
            'name': role_name,
        }

        r = http.request(method='GET',
                         url=url_sm_ui + 'roles/get_role',
                         fields=fields,
                         retries=False,
                         timeout=timeout)

        assert r.status == 200, "response has bad status"
        data = json.loads(r.data.decode('utf-8'))

        assert data['privs_get']['methods_create'] == 1
        assert data['privs_get']['methods_edit'] == 0
        assert data['privs_get']['methods_delete'] == 1
        assert data['privs_get']['aa_create'] == 1
        assert data['privs_get']['aa_edit'] == 0
        assert data['privs_get']['aa_delete'] == 0

        logger.info('------- test done --------')
示例#4
0
    def verify_user_in_sm_ui(self, name):
        logger = LogGen.loggen()

        url_sm_ui = ReadConfig.sm_user_interface()
        timeout = ReadConfig.timeout_sm()
        http = urllib3.PoolManager()

        ######### get user ###############
        logger.info('------- get user -------')

        # name = "Administrator"
        fields = {
            'user_name': name,
        }

        r = http.request(
            method='GET',
            url=url_sm_ui + 'users/get_user',
            fields=fields,
            retries=False,
            timeout=timeout,
        )

        logger.info('response is type {}'.format(type(r)))
        logger.info('headers is type  {}'.format(type(r.headers)))
        logger.info('status is type   {}'.format(type(r.status)))
        logger.info('data is type     {}'.format(type(r.data)))
        logger.info('r.headers = {}'.format(r.headers))
        logger.info('r.status  = {}'.format(r.status))
        logger.info('r.data    = {}'.format(r.data))

        assert r.status == 200, "response has bad status"
        data = json.loads(r.data.decode('utf-8'))

        logger.info('------- work with the response data --------')
        for key, value in data.items():
            logger.info("{} {}".format(key, value))
        logger.info('there are {}'.format(len(data)))

        assert data['privs_get']['methods_create'] == 1
        assert data['privs_get']['methods_edit'] == 1
        assert data['privs_get']['methods_delete'] == 1
        assert data['privs_get']['aa_create'] == 1
        assert data['privs_get']['aa_edit'] == 1
        assert data['privs_get']['aa_delete'] == 1

        logger.info('------- test done --------')
def test():
    logger = LogGen.loggen()

    url_sm_ui = ReadConfig.sm_user_interface()
    timeout = ReadConfig.timeout_sm()
    http = urllib3.PoolManager()

    ######### create role with all default privs ###############
    role_name = "test_" + datetime.now().strftime('%y%m%d%H%M%S%f')
    logger.info('------- create role with default privs {}'.format(role_name))

    body_raw = {'name': role_name, 'privs_set': {}}
    body_encoded = json.dumps(body_raw).encode('utf-8')

    r = http.request(method='POST',
                     url=url_sm_ui + 'roles/create_role',
                     body=body_encoded,
                     headers={'Content-Type': 'application/json'},
                     retries=False,
                     timeout=timeout)

    ######### get/check ###############
    logger.info('------- get/check role -------')

    name = "Administrator"
    fields = {
        'name': role_name,
    }

    r = http.request(method='GET',
                     url=url_sm_ui + 'roles/get_role',
                     fields=fields,
                     retries=False,
                     timeout=timeout)

    assert r.status == 200, "response has bad status"
    data = json.loads(r.data.decode('utf-8'))

    assert data['privs_get']['methods_create'] == 0
    assert data['privs_get']['methods_edit'] == 0
    assert data['privs_get']['methods_delete'] == 0
    assert data['privs_get']['aa_create'] == 0
    assert data['privs_get']['aa_edit'] == 0
    assert data['privs_get']['aa_delete'] == 0

    logger.info('------- test done --------')
示例#6
0
    def verify_roles_from_sm_UI(self, roleName):
        logger = LogGen.loggen()

        url_sm_ui = ReadConfig.sm_user_interface()
        timeout = ReadConfig.timeout_sm()
        http = urllib3.PoolManager()

        ######### get list ###############
        logger.info('------- get list -------')

        r = http.request(
            method='GET',
            url=url_sm_ui + 'roles/get_list',
            fields={},
            retries=False,
            timeout=timeout)

        logger.info('response is type {}'.format(type(r)))
        logger.info('headers is type  {}'.format(type(r.headers)))
        logger.info('status is type   {}'.format(type(r.status)))
        logger.info('data is type     {}'.format(type(r.data)))
        logger.info('r.headers = {}'.format(r.headers))
        logger.info('r.status  = {}'.format(r.status))
        logger.info('r.data    = {}'.format(r.data))

        assert r.status == 200, "response has bad status"

        data = json.loads(r.data.decode('utf-8'))

        # print("Values from SM_UI  ::", data)

        logger.info('------- work with the response data --------')
        list = []
        for key, value in data.items():

            logger.info("{} {}".format(key, value))
            list.append(key)
        logger.info('there are {}'.format(len(data)))
        assert list.__contains__(roleName) == True
        print("\n Created Role present in the SM(checking from SM_UI)  ::::", roleName)
        logger.info('------- test done --------')
示例#7
0
    def update_user_in_sm_ui(self, username):
        logger = LogGen.loggen()

        url_sm_ui = ReadConfig.sm_user_interface()
        timeout = ReadConfig.timeout_sm()
        http = urllib3.PoolManager()

        ########### create #####################
        # username = "******" + datetime.now().strftime('%y%m%d%H%M%S%f')
        role_name = 'Operator'
        logger.info('------- update user {} with role {}'.format(
            username, role_name))

        letters = string.ascii_lowercase

        first = ''.join(random.choice(letters) for i in range(6))
        middle = ''.join(random.choice(letters))
        last = ''.join(random.choice(letters) for i in range(6))
        email = uuid.uuid4().hex.upper()[0:6] + r'@rapidmicrobio.com'
        password = r'BlahBlah123@'
        phone = '123-456-7890'
        extension = '123'
        role = 'Operator'

        body_raw = {
            'first': first,
            'middle': middle,
            'last': last,
            'username': username,
            'email': email,
            'password': password,
            'phone': phone,
            'extension': extension,
            'role_name': role_name
        }
        body_encoded = json.dumps(body_raw).encode('utf-8')

        r = http.request(method='POST',
                         url=url_sm_ui + 'users/create_user',
                         body=body_encoded,
                         headers={'Content-Type': 'application/json'},
                         retries=False,
                         timeout=timeout)

        assert r.status == 200, "response has bad status {} {}".format(
            r.status, r.data)

        ############ update ######################3

        role_name = 'Administrator'
        logger.info('------- update user {} to role {}'.format(
            username, role_name))

        letters = string.ascii_lowercase

        first = ''.join(random.choice(letters) for i in range(6))
        middle = ''.join(random.choice(letters))
        last = ''.join(random.choice(letters) for i in range(6))
        email = uuid.uuid4().hex.upper()[0:6] + r'@rapidmicrobio.com'
        password = r'Foofoo123@'
        phone = '456-789-0123'
        extension = '456'

        body_raw = {
            'first': first,
            'middle': middle,
            'last': last,
            'username': username,
            'email': email,
            'password': password,
            'phone': phone,
            'extension': extension,
            'role_name': role_name
        }
        body_encoded = json.dumps(body_raw).encode('utf-8')

        logger.info('------- issue the command -------')
        r = http.request(method='POST',
                         url=url_sm_ui + 'users/update_user',
                         body=body_encoded,
                         headers={'Content-Type': 'application/json'},
                         retries=False,
                         timeout=timeout)

        assert r.status == 200, "response has bad status {} {}".format(
            r.status, r.data)

        ######### get/check user ###############
        logger.info('------- get/check user -------')

        fields = {
            'user_name': username,
        }

        r = http.request(method='GET',
                         url=url_sm_ui + 'users/get_user',
                         fields=fields,
                         retries=False,
                         timeout=timeout)

        logger.info('response is type {}'.format(type(r)))
        logger.info('headers is type  {}'.format(type(r.headers)))
        logger.info('status is type   {}'.format(type(r.status)))
        logger.info('data is type     {}'.format(type(r.data)))
        logger.info('r.headers = {}'.format(r.headers))
        logger.info('r.status  = {}'.format(r.status))
        # logger.info('r.data    = {}'.format(r.data))

        assert r.status == 200, "response has bad status"
        data = json.loads(r.data.decode('utf-8'))

        logger.info('------- work with the response data --------')
        for key, value in data.items():
            logger.info("{} {}".format(key, value))
        logger.info('there are {}'.format(len(data)))

        assert data['first'] == first
        assert data['middle'] == middle
        assert data['last'] == last
        assert data['username'] == username
        assert data['email'] == email
        assert data['phone'] == phone
        assert data['extension'] == extension
        # zona not implemented assert data['role'] = role

        assert data['privs_get']['methods_create'] == 1
        assert data['privs_get']['methods_edit'] == 1
        assert data['privs_get']['methods_delete'] == 1
        assert data['privs_get']['aa_create'] == 1
        assert data['privs_get']['aa_edit'] == 1
        assert data['privs_get']['aa_delete'] == 1

        logger.info('------- test done --------')
示例#8
0
def test():
    logger = LogGen.loggen()

    url_sm_ui = ReadConfig.sm_user_interface()
    timeout = ReadConfig.timeout_sm()
    http = urllib3.PoolManager()

    ############# get/count users ####################
    logger.info('------- get list of users -------')

    r = http.request(method='GET',
                     url=url_sm_ui + 'users/get_list',
                     fields={},
                     retries=False,
                     timeout=timeout)
    assert r.status == 200, "response has bad status"
    jdata = json.loads(r.data.decode('utf-8'))

    count_before_total = len(jdata)
    count_before_enabled = sum(value['enabled'] == 'Yes'
                               for value in jdata.values())
    count_before_disabled = sum(value['enabled'] == 'No'
                                for value in jdata.values())
    logger.info(
        'count_total = {} count_enabled = {} count_disabled = {}'.format(
            count_before_total, count_before_enabled, count_before_disabled))

    ############# create ####################
    username = "******" + datetime.now().strftime('%y%m%d%H%M%S%f')
    role_name = 'Operator'
    logger.info('------- create user {} with role {}'.format(
        username, role_name))

    letters = string.ascii_lowercase

    first = ''.join(random.choice(letters) for i in range(6))
    middle = ''.join(random.choice(letters))
    last = ''.join(random.choice(letters) for i in range(6))
    email = uuid.uuid4().hex.upper()[0:6] + r'@rapidmicrobio.com'
    password = r'BlahBlah123@'
    phone = '123-456-7890'
    extension = '123'
    role = 'Operator'

    body_raw = {
        'first': first,
        'middle': middle,
        'last': last,
        'username': username,
        'email': email,
        'password': password,
        'phone': phone,
        'extension': extension,
        'role_name': role_name
    }
    body_encoded = json.dumps(body_raw).encode('utf-8')

    r = http.request(method='POST',
                     url=url_sm_ui + 'users/create_user',
                     body=body_encoded,
                     headers={'Content-Type': 'application/json'},
                     retries=False,
                     timeout=timeout)

    assert r.status == 200, "response has bad status {} {}".format(
        r.status, r.data)

    ############# get/check ####################
    logger.info(
        '------- get list of users, check enabled/disabled count -------')

    r = http.request(method='GET',
                     url=url_sm_ui + 'users/get_list',
                     fields={},
                     retries=False,
                     timeout=timeout)
    assert r.status == 200, "response has bad status"
    jdata = json.loads(r.data.decode('utf-8'))

    count_after_total = len(jdata)
    count_after_enabled = sum(value['enabled'] == 'Yes'
                              for value in jdata.values())
    count_after_disabled = sum(value['enabled'] == 'No'
                               for value in jdata.values())
    logger.info(
        'count_total = {} count_enabled = {} count_disabled = {}'.format(
            count_after_total, count_after_enabled, count_after_disabled))

    assert count_after_total == count_before_total + 1
    assert count_after_enabled == count_before_enabled + 1
    assert count_after_disabled == count_before_disabled

    ############# disable ####################
    logger.info('------- disable user -------')

    body_raw = {
        'username': username,
    }
    body_encoded = json.dumps(body_raw).encode('utf-8')

    r = http.request(method='POST',
                     url=url_sm_ui + 'users/disable_user',
                     body=body_encoded,
                     headers={'Content-Type': 'application/json'},
                     retries=False,
                     timeout=timeout)

    assert r.status == 200, "response has bad status"

    ############# get/check ####################
    logger.info(
        '------- get list of users, check enabled/disabled count -------')

    r = http.request(method='GET',
                     url=url_sm_ui + 'users/get_list',
                     fields={},
                     retries=False,
                     timeout=timeout)
    assert r.status == 200, "response has bad status"
    jdata = json.loads(r.data.decode('utf-8'))

    count_after_total = len(jdata)
    count_after_enabled = sum(value['enabled'] == 'Yes'
                              for value in jdata.values())
    count_after_disabled = sum(value['enabled'] == 'No'
                               for value in jdata.values())
    logger.info(
        'count_total = {} count_enabled = {} count_disabled = {}'.format(
            count_after_total, count_after_enabled, count_after_disabled))

    assert count_after_total == count_before_total + 1, "counts before/after = {} {}".format(
        count_after_total, count_before_total)
    assert count_after_enabled == count_before_enabled
    assert count_after_disabled == count_before_disabled + 1

    logger.info('------- test done --------')