def _create_catalog(self, role): """Create catalog data. :param role: running user. """ st_create = self.clients[role].run_command( 'catalog-create', params=' --region-id {0}' ' --catalog-name {1}' ' --lifetime-start {2}' ' --lifetime-end {3}'.format('region_id', 'catalog_name', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'catalog-create', params=' --region-id {0}' ' --catalog-name {1}' ' --lifetime-start {2}' ' --lifetime-end {3}'.format('region_id_dammy', 'catalog_name_dammy', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) # Check got UUID. catalog_id = output_parser.tables(st_create)[0]['values'][0][0] self.assertTrue(catalog_id is not None) catalog_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] return catalog_id, catalog_id_dammy
def _create_catalog(self, role): """Create catalog data. :param role: running user. """ st_create = self.clients[role].run_command( 'catalog-create', params=' --region-id {0}' ' --catalog-name {1}' ' --lifetime-start {2}' ' --lifetime-end {3}' .format('region_id', 'catalog_name', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'catalog-create', params=' --region-id {0}' ' --catalog-name {1}' ' --lifetime-start {2}' ' --lifetime-end {3}' .format('region_id_dammy', 'catalog_name_dammy', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) # Check got UUID. catalog_id = output_parser.tables(st_create)[0]['values'][0][0] self.assertTrue(catalog_id is not None) catalog_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] return catalog_id, catalog_id_dammy
def _create_price(self, role, catalog_id, catalog_id_dammy, scope): """Create price data. :param role: running user. :param catalog_id: Catalog id. :param scope: scope. """ st_create = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}'.format(catalog_id, scope, '123.456', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}'.format(catalog_id_dammy, scope, '123.45', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) # Check got UUID. seq_no = output_parser.tables(st_create)[0]['values'][0][2] self.assertTrue(seq_no is not None) seq_no_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][2] return seq_no, seq_no_dammy
def _create_goods(self, role): """Create goods data. :param role: running user. """ st_create_dammy = self.clients[role].run_command( 'goods-create', params=' --region-id {0}' ' --goods-name {1}'.format('region_id_dammy', 'goods_name_dammy')) st_create = self.clients[role].run_command( 'goods-create', params=' --region-id {0}' ' --goods-name {1}'.format('region_id', 'goods_name')) # Check got UUID goods_id = output_parser.tables(st_create)[0]['values'][0][0] self.assertTrue(goods_id is not None) goods_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] # Check all param check_param = {'goods_id': goods_id, 'region_id': 'region_id', 'goods_name': 'goods_name', } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return goods_id, goods_id_dammy
def test_tickettemplate(self, role): """Do a test of 'Tickettemplate commands' Test the operation of the List and Get commands result. """ # Create data. workflow_pattern_id = \ test_workflowpatterns.create_workflow_pattern( self, role, ['workflow_pattern_contents_001.json']) ticket_template_id = create_tickettemplate_pattern( self, role, ['ticket_template_contents_001'], '20160627') # List data. st_get = self.clients[role].run_command('tickettemplate-list') list = output_parser.tables(st_get)[0]['values'] # Got list had greater one a row. self.assertTrue(len(list), 1) self.clients[role].run_command( 'tickettemplate-list', params=' --limit 1' + ' --marker %s' % ticket_template_id[0] + ' --sort-key created_at' + ' --sort-dir asc' + ' --force-show-deleted true' + ' --ticket-type "New Contract"' + ' --enable-expansion-filters false') st_get = self.clients[role].run_command( 'tickettemplate-get', params='--id ' + ticket_template_id[0]) self.assertEqual(ticket_template_id[0], output_parser.tables(st_get)[0]['values'][0][0]) st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --enable-expansion-filters true') list = output_parser.tables(st_get)[0]['values'] # 0 row because there is no valid items. self.assertTrue(len(list), 0) st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --enable-expansion-filters aaaaa') list = output_parser.tables(st_get)[0]['values'] # Invalid values will be the same as 'False'. self.assertTrue(len(list), 1) # Delete data. delete_tickettemplate_pattern( self, role, ticket_template_id) test_workflowpatterns.delete_workflow_pattern( self, role, workflow_pattern_id)
def _create_price(self, role, catalog_id, scope): """Create price data. :param role: running user. :param catalog_id: Catalog id. :param scope: scope. """ st_create_dammy = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}' .format('catalog0-1111-2222-3333-100000000001', scope, '123.45', '2015-01-01T01:02:03.123456', '2015-11-12T04:05:06.234567')) st_create = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}' .format(catalog_id, scope, '123.456', '2015-01-01T01:02:03.123456', '2015-11-12T04:05:06.234567')) # Check got UUID seq_no = output_parser.tables(st_create)[0]['values'][0][2] self.assertTrue(seq_no is not None) seq_no_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][2] # Check all param check_param = {'catalog_id': catalog_id, 'scope': scope, 'seq_no': seq_no, 'price': '123.456', 'lifetime_start': '2015-01-01T01:02:03.123456', 'lifetime_end': '2015-11-12T04:05:06.234567', } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return seq_no, seq_no_dammy
def test_tickettemplate(self, role): """Do a test of 'Tickettemplate commands' Test the operation of the List and Get commands result. """ # Create data. workflow_pattern_id = \ test_workflowpatterns.create_workflow_pattern( self, role, ['workflow_pattern_contents_001.json']) ticket_template_id = create_tickettemplate_pattern( self, role, ['ticket_template_contents_001'], '20160627') # List data. st_get = self.clients[role].run_command('tickettemplate-list') list = output_parser.tables(st_get)[0]['values'] # Got list had greater one a row. self.assertTrue(len(list), 1) self.clients[role].run_command( 'tickettemplate-list', params=' --limit 1' + ' --marker %s' % ticket_template_id[0] + ' --sort-key created_at' + ' --sort-dir asc' + ' --force-show-deleted true' + ' --ticket-type "New Contract"' + ' --enable-expansion-filters false') st_get = self.clients[role].run_command('tickettemplate-get', params='--id ' + ticket_template_id[0]) self.assertEqual(ticket_template_id[0], output_parser.tables(st_get)[0]['values'][0][0]) st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --enable-expansion-filters true') list = output_parser.tables(st_get)[0]['values'] # 0 row because there is no valid items. self.assertTrue(len(list), 0) st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --enable-expansion-filters aaaaa') list = output_parser.tables(st_get)[0]['values'] # Invalid values will be the same as 'False'. self.assertTrue(len(list), 1) # Delete data. delete_tickettemplate_pattern(self, role, ticket_template_id) test_workflowpatterns.delete_workflow_pattern(self, role, workflow_pattern_id)
def _update_goods(self, role, goods_id): """Update goods data. :param role: running user. :param goods_id: Goods id. :param goods: goods. """ st_update = self.clients[role].run_command( 'goods-update', params=' --goods-id {0}' ' --region-id {1}' ' --goods-name {2}' .format(goods_id, 'region_id_updated', 'goods_name_updated')) goods = output_parser.tables(st_update)[0]['values'] # Check all param check_param = {'goods_id': goods_id, 'region_id': 'region_id_updated', 'goods_name': 'goods_name_updated', } self._check_return_param(goods[0], check_param) return goods
def _update_catalog_contents(self, role, catalog_id, seq_no): """Update catalog contents data. :param role: running user. :param catalog_id: Catalog id. :param seq_no: Seq no. :param catalog contents: catalog contents. """ st_update = self.clients[role].run_command( 'catalog-contents-update', params=' --catalog-id {0}' ' --seq-no {1}' ' --goods-id {2}' ' --goods-num {3}'.format(catalog_id, seq_no, 'goods_id_updated', '912')) catalog_contents = output_parser.tables(st_update)[0]['values'][0] # Check all param check_param = { 'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id_updated', 'goods_num': '912', } self._check_return_param(catalog_contents, check_param) return catalog_contents
def test_tickettemplate_list_multi_ticket_type(self, role): """Test 'List search of tickettemplate.' Test of if you filtering multi ticket type. """ # Create data. workflow_pattern_id = \ test_workflowpatterns.create_workflow_pattern( self, role, ['workflow_pattern_contents_002.json', 'workflow_pattern_contents_003.json']) ticket_template_id = create_tickettemplate_pattern( self, role, [ 'ticket_template_contents_002', 'ticket_template_contents_003', 'ticket_template_contents_003' ], '20160627') st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --ticket-type "New Contract,request"') list = output_parser.tables(st_get)[0]['values'] for id in ticket_template_id: self.assertTrue(len(filter(lambda row: row[0] == id, list)), 1) # Delete data. delete_tickettemplate_pattern(self, role, ticket_template_id) test_workflowpatterns.delete_workflow_pattern(self, role, workflow_pattern_id)
def _show_price(self, role, catalog_id, scope, seq_no): """Show price data. :param role: running user. :param catalog_id: Catalog id. :param scope: scope. :pram seq_no: seq_no. """ st_get = self.clients[role].run_command( 'price-get', params=' --catalog-id %s --scope %s --seq-no %s' % (catalog_id, scope, seq_no)) price = output_parser.tables(st_get)[0]['values'][0] # Check all param check_param = {'catalog_id': catalog_id, 'scope': scope, 'seq_no': seq_no, 'price': '123.456', 'lifetime_start': '2015-01-01T01:02:03.000000', 'lifetime_end': '2015-11-12T04:05:06.000000', } self._check_return_param(price, check_param) return price
def _list_valid_catalog(self, role, catalog_id, catalog_scope_id, seq_no, scope): """List valid catalog data. :param role: running user. :param catalog_id: catalog id for check list result. :param catalog_scope_id: catalog scope id for check list result. :param seq_no: price seq no for check list result. :param scope: project id. """ st_list = self.clients[role].run_command( 'valid-catalog-list', params=' --scope {0}' ' --lifetime {1}'.format(scope, '2017-01-01T01:02:03.123456')) valid_catalog_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(valid_catalog_list) >= 1) # Check all param. result = False for valid_catalog_info in valid_catalog_list: if valid_catalog_info[0] == catalog_id and \ valid_catalog_info[5] == catalog_scope_id and \ valid_catalog_info[8] == seq_no: result = True break self.assertTrue(result)
def _update_catalog(self, role, catalog_id): """Update catalog data. :param role: running user. :param catalog_id: Catalog id. :param catalog: catalog. """ st_update = self.clients[role].run_command( 'catalog-update', params=' --catalog-id {0}' ' --region-id {1}' ' --catalog-name {2}' ' --lifetime-start {3}' ' --lifetime-end {4}' .format(catalog_id, 'region_id_updated', 'catalog_name_updated', '2015-01-01T01:02:03.123456', '2015-11-12T04:05:06.234567')) catalog = output_parser.tables(st_update)[0]['values'] # Check all param check_param = {'catalog_id': catalog_id, 'region_id': 'region_id_updated', 'catalog_name': 'catalog_name_updated', 'lifetime_start': '2015-01-01T01:02:03.123456', 'lifetime_end': '2015-11-12T04:05:06.234567', } self._check_return_param(catalog[0], check_param) return catalog
def _list_catalog(self, role, catalog_id): """List catalog data. :param role: running user. """ st_list = self.clients[role].run_command('catalog-list') self.clients[role].run_command( 'catalog-list', params=' --region-id {0}' ' --catalog-name {1}' ' --sort-key {2}' ' --sort-dir {3}' ' --limit {4}' .format('region_id', 'catalog_name', 'catalog_id', 'desc', '1000')) catalog_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(catalog_list) >= 1) # Check all param result = False for catalog_info in catalog_list: if catalog_info[0] == catalog_id: result = True break self.assertTrue(result) return catalog_list
def test_tickettemplate_list_multi_ticket_type(self, role): """Test 'List search of tickettemplate.' Test of if you filtering multi ticket type. """ # Create data. workflow_pattern_id = \ test_workflowpatterns.create_workflow_pattern( self, role, ['workflow_pattern_contents_002.json', 'workflow_pattern_contents_003.json']) ticket_template_id = create_tickettemplate_pattern( self, role, ['ticket_template_contents_002', 'ticket_template_contents_003', 'ticket_template_contents_003'], '20160627') st_get = self.clients[role].run_command( 'tickettemplate-list', params=' --ticket-type "New Contract,request"') list = output_parser.tables(st_get)[0]['values'] for id in ticket_template_id: self.assertTrue(len(filter(lambda row: row[0] == id, list)), 1) # Delete data. delete_tickettemplate_pattern( self, role, ticket_template_id) test_workflowpatterns.delete_workflow_pattern( self, role, workflow_pattern_id)
def _list_catalog_contents(self, role, catalog_id, seq_no): """List catalog contents data. :param role: running user. :param catalog_id: Catalog id. """ st_list = self.clients[role].run_command( 'catalog-contents-list', params=' --catalog-id {0}' ' --limit {1}' ' --force-show-deleted {2}' .format(catalog_id, '1000', 'true')) catalog_contents_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(catalog_contents_list) >= 1) # Check all param result = False for catalog_contents in catalog_contents_list: if catalog_contents[1] == seq_no: result = True break self.assertTrue(result) return catalog_contents_list
def _update_catalog_contents(self, role, catalog_id, seq_no): """Update catalog contents data. :param role: running user. :param catalog_id: Catalog id. :param seq_no: Seq no. :param catalog contents: catalog contents. """ st_update = self.clients[role].run_command( 'catalog-contents-update', params=' --catalog-id {0}' ' --seq-no {1}' ' --goods-id {2}' ' --goods-num {3}' .format(catalog_id, seq_no, 'goods_id_updated', '912')) catalog_contents = output_parser.tables(st_update)[0]['values'][0] # Check all param check_param = {'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id_updated', 'goods_num': '912', } self._check_return_param(catalog_contents, check_param) return catalog_contents
def _list_price(self, role, catalog_id, scope, seq_no): """List price data. :param role: running user. :param catalog_id: Catalog id. """ st_list = self.clients[role].run_command( 'price-list', params=' --catalog-id {0}' ' --lifetime {1}' ' --sort-key {2}' ' --sort-dir {3}' ' --limit {4}' ' --force-show-deleted {5}' .format(catalog_id, '2015-09-28T12:13:14.123456', 'price', 'asc', '1000', 'true')) price_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(price_list) >= 1) # Check all param result = False for price in price_list: if price[2] == seq_no: result = True break self.assertTrue(result) return price_list
def _update_catalog_scope(self, role, catalog_scope_id, catalog_id, scope): """Update catalog scope data. :param role: running user. :param catalog_scope_id: The id of catalog scope table. """ st_update = self.clients[role].run_command( 'catalog-scope-update', params=' --id {0}' ' --lifetime-start {1}' ' --lifetime-end {2}'.format(catalog_scope_id, '2016-01-31T23:59:59.999999', '2021-12-31T23:59:59.999999')) catalog_scope = output_parser.tables(st_update)[0]['values'][0] # Check all param. check_param = { 'id': catalog_scope_id, 'catalog_id': catalog_id, 'scope': scope, 'lifetime_start': '2016-01-31T23:59:59.999999', 'lifetime_end': '2021-12-31T23:59:59.999999' } self._check_return_param(catalog_scope, check_param)
def _list_valid_catalog(self, role, catalog_id, catalog_scope_id, seq_no, scope): """List valid catalog data. :param role: running user. :param catalog_id: catalog id for check list result. :param catalog_scope_id: catalog scope id for check list result. :param seq_no: price seq no for check list result. :param scope: project id. """ st_list = self.clients[role].run_command( 'valid-catalog-list', params=' --scope {0}' ' --lifetime {1}' .format(scope, '2017-01-01T01:02:03.123456')) valid_catalog_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(valid_catalog_list) >= 1) # Check all param. result = False for valid_catalog_info in valid_catalog_list: if valid_catalog_info[0] == catalog_id and \ valid_catalog_info[5] == catalog_scope_id and \ valid_catalog_info[8] == seq_no: result = True break self.assertTrue(result)
def _list_contract(self, role, contract_id): """List contract data. :param role: running user. """ params = ' --lifetime {0}' \ ' --limit {1}' \ ' --sort-key {2}' \ ' --sort-dir {3}' \ .format('2015-09-28T00:00:00.000000', '1000', 'contract_id', 'desc') if role == 'user': params = ' '.join([params, '--project-id', '5d19ec09dfb04e83b8385a2365c217e0']) st_list = self.clients[role].run_command( 'contract-list', params=params) contract_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(contract_list) >= 1) # Check all param result = False for contract in contract_list: if contract[0] == contract_id: result = True break self.assertTrue(result) return contract_list
def _create_catalog_scope(self, role, catalog_id, scope): """Create catalog data. :param role: running user. """ st_create = self.clients[role].run_command( 'catalog-scope-create', params=' --catalog-id {0}' ' --scope {1}' ' --lifetime-start {2}' ' --lifetime-end {3}' .format(catalog_id, scope, '2015-01-01T01:02:03.123456', '2020-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'catalog-scope-create', params=' --catalog-id {0}' ' --scope {1}' ' --lifetime-start {2}' ' --lifetime-end {3}' .format('catalog-dammy0-111-222-333', scope, '2015-01-01T01:02:03.123456', '2020-11-12T04:05:06.234567')) # Check got UUID. catalog_scope_id = output_parser.tables(st_create)[0]['values'][0][0] catalog_scope_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] self.assertTrue(catalog_id is not None) # Check all param. check_param = {'id': catalog_scope_id, 'catalog_id': catalog_id, 'scope': scope, 'lifetime_start': '2015-01-01T01:02:03.123456', 'lifetime_end': '2020-11-12T04:05:06.234567'} self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return catalog_scope_id, catalog_scope_id_dammy
def _ticket_list_irregular_template_contents(self, role): """Test 'Ticket commands' Test the operation of the List command(Ignore parameters). """ args = ['--application-kinds-name aaaaa', '--ticket-template-name aaaaa'] for arg in args: st_list = self.clients[role].run_command('ticket-list %s' % arg) self.assertEqual(0, len(output_parser.tables(st_list)[0]['values']))
def _show_catalog(self, role, catalog_id): """Show catalog data. :param role: running user. :param catalog_id: Catalog id. """ st_get = self.clients[role].run_command( 'catalog-get', params=' --catalog-id ' + catalog_id) catalog = output_parser.tables(st_get)[0]['values'][0] return catalog
def _create_catalog_scope(self, role, catalog_id, scope): """Create catalog data. :param role: running user. """ st_create = self.clients[role].run_command( 'catalog-scope-create', params=' --catalog-id {0}' ' --scope {1}' ' --lifetime-start {2}' ' --lifetime-end {3}'.format(catalog_id, scope, '2015-01-01T01:02:03.123456', '2020-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'catalog-scope-create', params=' --catalog-id {0}' ' --scope {1}' ' --lifetime-start {2}' ' --lifetime-end {3}'.format('catalog-dammy0-111-222-333', scope, '2015-01-01T01:02:03.123456', '2020-11-12T04:05:06.234567')) # Check got UUID. catalog_scope_id = output_parser.tables(st_create)[0]['values'][0][0] catalog_scope_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] self.assertTrue(catalog_id is not None) # Check all param. check_param = { 'id': catalog_scope_id, 'catalog_id': catalog_id, 'scope': scope, 'lifetime_start': '2015-01-01T01:02:03.123456', 'lifetime_end': '2020-11-12T04:05:06.234567' } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return catalog_scope_id, catalog_scope_id_dammy
def test_tables_with_invalid_values(self): output_lines = ('test' + self.OUTPUT_LINES + 'test2' + self.OUTPUT_LINES2 + '\n') expected = [{'headers': self.EXPECTED_TABLE['headers'], 'label': 'test', 'values': self.EXPECTED_TABLE['values']}, {'headers': self.EXPECTED_TABLE2['headers'], 'label': 'test2', 'values': self.EXPECTED_TABLE2['values']}] actual = output_parser.tables(output_lines) self.assertIsInstance(actual, list) self.assertEqual(expected, actual)
def _create_catalog_contents(self, role, catalog_id): """Create catalog contents data. :param role: running user. :param catalog_id: Catalog id. """ st_create_dammy = self.clients[role].run_command( 'catalog-contents-create', params=' --catalog-id {0}' ' --goods-id {1}' ' --goods-num {2}' .format('catalog0-1111-2222-3333-100000000002', 'goods_id_dammy', '5678')) st_create = self.clients[role].run_command( 'catalog-contents-create', params=' --catalog-id {0}' ' --goods-id {1}' ' --goods-num {2}' .format(catalog_id, 'goods_id', '1234')) # Check got UUID seq_no = output_parser.tables(st_create)[0]['values'][0][1] self.assertTrue(seq_no is not None) seq_no_dammy = output_parser.tables(st_create_dammy)[0]['values'][0][1] self.assertTrue(seq_no is not None) # Check all param check_param = {'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id', 'goods_num': '1234', } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return seq_no, seq_no_dammy
def _create_price(self, role, catalog_id, catalog_id_dammy, scope): """Create price data. :param role: running user. :param catalog_id: Catalog id. :param scope: scope. """ st_create = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}' .format(catalog_id, scope, '123.456', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) st_create_dammy = self.clients[role].run_command( 'price-create', params=' --catalog-id {0}' ' --scope {1}' ' --price {2}' ' --lifetime-start {3}' ' --lifetime-end {4}' .format(catalog_id_dammy, scope, '123.45', '2015-01-01T01:02:03.123456', '2018-11-12T04:05:06.234567')) # Check got UUID. seq_no = output_parser.tables(st_create)[0]['values'][0][2] self.assertTrue(seq_no is not None) seq_no_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][2] return seq_no, seq_no_dammy
def test_tables_with_invalid_values(self): output_lines = ('test' + self.OUTPUT_LINES + 'test2' + self.OUTPUT_LINES2 + '\n') expected = [{ 'headers': self.EXPECTED_TABLE['headers'], 'label': 'test', 'values': self.EXPECTED_TABLE['values'] }, { 'headers': self.EXPECTED_TABLE2['headers'], 'label': 'test2', 'values': self.EXPECTED_TABLE2['values'] }] actual = output_parser.tables(output_lines) self.assertIsInstance(actual, list) self.assertEqual(expected, actual)
def _create_catalog_contents(self, role, catalog_id): """Create catalog contents data. :param role: running user. :param catalog_id: Catalog id. """ st_create_dammy = self.clients[role].run_command( 'catalog-contents-create', params=' --catalog-id {0}' ' --goods-id {1}' ' --goods-num {2}'.format('catalog0-1111-2222-3333-100000000002', 'goods_id_dammy', '5678')) st_create = self.clients[role].run_command('catalog-contents-create', params=' --catalog-id {0}' ' --goods-id {1}' ' --goods-num {2}'.format( catalog_id, 'goods_id', '1234')) # Check got UUID seq_no = output_parser.tables(st_create)[0]['values'][0][1] self.assertTrue(seq_no is not None) seq_no_dammy = output_parser.tables(st_create_dammy)[0]['values'][0][1] self.assertTrue(seq_no is not None) # Check all param check_param = { 'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id', 'goods_num': '1234', } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return seq_no, seq_no_dammy
def create_workflow_pattern(self, role, file_names): """Create a workflow pattern. :param role: Running user. :param file_names: Workflow pattern files. """ id = [] for file_name in file_names: file = FOLDER_PATH + file_name st = self.clients[role].run_command('workflowpattern-create', params=' --file %s' % file) id.append(output_parser.tables(st)[0]['values'][0][0]) return id
def create_workflow_pattern(self, role, file_names): """Create a workflow pattern. :param role: Running user. :param file_names: Workflow pattern files. """ id = [] for file_name in file_names: file = FOLDER_PATH + file_name st = self.clients[role].run_command( 'workflowpattern-create', params=' --file %s' % file) id.append(output_parser.tables(st)[0]['values'][0][0]) return id
def _list_catalog_scope(self, role, catalog_scope_id): """List catalog scope data. :param role: running user. """ st_list = self.clients[role].run_command('catalog-scope-list') catalog_scope_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(catalog_scope_list) >= 1) # Check all param. result = False for catalog_scope_info in catalog_scope_list: if catalog_scope_info[0] == catalog_scope_id: result = True break self.assertTrue(result)
def create_tickettemplate_pattern(self, role, files_prefix, version): """Create a ticket template. :param role: Running user. :param file_names: Ticket template files. """ id = [] for file_prefix in files_prefix: file_name = '%(file_prefix)s_%(version)s.json' % { 'file_prefix': file_prefix, 'version': version} file_path = os.path.join(FOLDER_PATH, file_name) st = self.clients[role].run_command('tickettemplate-create', params=' --file %s' % file_path) id.append(output_parser.tables(st)[0]['values'][0][0]) return id
def _show_catalog_scope(self, role, catalog_scope_id, catalog_id, scope): """Show catalog scope data. :param role: running user. :param catalog_scope_id: The id of catalog scope table. """ st_get = self.clients[role].run_command( 'catalog-scope-get', params=' --id ' + catalog_scope_id) catalog_scope = output_parser.tables(st_get)[0]['values'][0] # Check all param. check_param = {'id': catalog_scope_id, 'catalog_id': catalog_id, 'scope': scope, 'lifetime_start': '2015-01-01T01:02:03.000000', 'lifetime_end': '2020-11-12T04:05:06.000000'} self._check_return_param(catalog_scope, check_param)
def _get_goods(self, role, goods_id): """Get goods data. :param role: running user. :param goods_id: Goods id. """ st_get = self.clients[role].run_command( 'goods-get', params=' --goods-id ' + goods_id) goods = output_parser.tables(st_get)[0]['values'][0] # Check all param check_param = {'goods_id': goods_id, 'region_id': 'region_id', 'goods_name': 'goods_name', } self._check_return_param(goods, check_param) return goods
def create_tickettemplate_pattern(self, role, files_prefix, version): """Create a ticket template. :param role: Running user. :param file_names: Ticket template files. """ id = [] for file_prefix in files_prefix: file_name = '%(file_prefix)s_%(version)s.json' % { 'file_prefix': file_prefix, 'version': version } file_path = os.path.join(FOLDER_PATH, file_name) st = self.clients[role].run_command('tickettemplate-create', params=' --file %s' % file_path) id.append(output_parser.tables(st)[0]['values'][0][0]) return id
def _get_workflow(self, role, ticket_id): """Get workflow data of ticket. :param role: running user. :param ticket_id: ticket id. """ st_work = self.clients[role].run_command( 'workflow-get', params='--id ' + ticket_id[0]) workflows = output_parser.tables(st_work)[0]['values'] last = filter(lambda row: row[_COLUMN_WORKFLOW_STATUS] == '1', workflows)[0] next = filter(lambda row: row[_COLUMN_WORKFLOW_STATUS_CODE] == 'withdrew', workflows)[0] return (last[_COLUMN_WORKFLOW_ID], next[_COLUMN_WORKFLOW_ID])
def _show_catalog_scope(self, role, catalog_scope_id, catalog_id, scope): """Show catalog scope data. :param role: running user. :param catalog_scope_id: The id of catalog scope table. """ st_get = self.clients[role].run_command('catalog-scope-get', params=' --id ' + catalog_scope_id) catalog_scope = output_parser.tables(st_get)[0]['values'][0] # Check all param. check_param = { 'id': catalog_scope_id, 'catalog_id': catalog_id, 'scope': scope, 'lifetime_start': '2015-01-01T01:02:03.000000', 'lifetime_end': '2020-11-12T04:05:06.000000' } self._check_return_param(catalog_scope, check_param)
def test_tickettemplate_list_irregular_ticket_type(self, role): """Test 'List search of tickettemplate.' Test of if you filtering irregular ticket type. """ # Create data. workflow_pattern_id = \ test_workflowpatterns.create_workflow_pattern( self, role, ['workflow_pattern_contents_004.json']) ticket_template_id = create_tickettemplate_pattern( self, role, ['ticket_template_contents_004'], '20160627') st_get1 = self.clients[role].run_command('tickettemplate-list', params=' --ticket-type aaaaa') self.assertEqual(0, len(output_parser.tables(st_get1)[0]['values'])) # Delete data. delete_tickettemplate_pattern(self, role, ticket_template_id) test_workflowpatterns.delete_workflow_pattern(self, role, workflow_pattern_id)
def _get_contract(self, role, contract_id, project_id): """Get contract data. :param role: running user. :param contract_id: Contract id. """ st_get = self.clients[role].run_command( 'contract-get', params=' --contract-id ' + contract_id) contract = output_parser.tables(st_get)[0]['values'][0] # Check all param check_param = {'contract_id': contract_id, 'region-id': 'region_id', 'project-id': project_id, 'project-name': 'project_name', 'catalog-id': 'catalog_id', 'catalog-name': 'catalog_name', 'num': '1234', 'parent-ticket-template-id': 'parent_ticket_template_id', 'ticket-template-id': 'ticket_template_id', 'parent-ticket-template-name': 'parent_ticket_template_name', 'ticket-template-name': 'ticket_template_name', 'parent-application-kinds-name': 'parent_application_kinds_name', 'application-kinds-name': 'application_kinds_name', 'cancel-application-id': 'cancel_application_id', 'application-id': 'application_id', 'application-name': 'application_name', 'application-date': '2015-09-10T06:07:08.000000', 'parent-contract-id': 'parent_contract_id', 'lifetime-start': '2015-01-01T01:02:03.000000', 'lifetime-end': '2015-11-12T04:05:06.000000', } self._check_return_param(contract, check_param) return contract
def _show_catalog_contents(self, role, catalog_id, seq_no): """Show catalog contents data. :param role: running user. :param catalog_id: Catalog id. :param seq_no: Seq no. """ st_get = self.clients[role].run_command( 'catalog-contents-get', params=' --catalog-id ' + catalog_id + ' --seq-no ' + seq_no) catalog_contents = output_parser.tables(st_get)[0]['values'][0] # Check all param check_param = { 'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id', 'goods_num': '1234', } self._check_return_param(catalog_contents, check_param) return catalog_contents
def _show_catalog_contents(self, role, catalog_id, seq_no): """Show catalog contents data. :param role: running user. :param catalog_id: Catalog id. :param seq_no: Seq no. """ st_get = self.clients[role].run_command( 'catalog-contents-get', params=' --catalog-id ' + catalog_id + ' --seq-no ' + seq_no) catalog_contents = output_parser.tables(st_get)[0]['values'][0] # Check all param check_param = {'catalog_id': catalog_id, 'seq_no': seq_no, 'goods_id': 'goods_id', 'goods_num': '1234', } self._check_return_param(catalog_contents, check_param) return catalog_contents
def _update_ticket(self, role, ticket_id, workflow_id1, workflow_id2): """Update ticket data. :param role: running user. :param ticket_id: ticket id. :param workflow_id1: last workflow id. :param workflow_id2: next workflow id """ self.clients[role].run_command( 'ticket-update', params=' --id {0}' ' --last-workflow-id {1}' ' --next-workflow-id {2}' ' --last-status-code {3}' ' --next-status-code {4}' ' --additional-data {5}'.format( ticket_id[0], workflow_id1, workflow_id2, "applied", 'withdrew', '\'{"description": "test"}\'')) # Get records. for c in range(0, _RETRY_COUNT): st_work = self.clients[role].run_command( 'workflow-get', params='--id ' + ticket_id[0]) workflow = output_parser.tables(st_work)[0]['values'] now_status = filter(lambda row: row[3] == 'withdrew', workflow) # DB Entry is asynchronous process. # Wait for a seconds. if now_status[0][2] != '1': if c < _RETRY_COUNT - 1: time.sleep(1) else: raise exceptions.TimeoutException(str(st_work)) else: break
def _delete_ticket(self, role, ticket_id): """Delete ticket data. :param role: running user. :param ticket_id: ticket id. """ for id in ticket_id: self.clients[role].run_command('ticket-delete', params='--id ' + id) # Get records. for c in range(0, _RETRY_COUNT): st_list = self.clients[role].run_command( 'ticket-list', params='') # DB Entry is asynchronous process. # Wait for a seconds. if len(output_parser.tables(st_list)[0]['values']) != 0: if c < _RETRY_COUNT - 1: time.sleep(1) else: raise exceptions.TimeoutException(str(st_list)) else: break
def _create_ticket(self, role, ticket_template_id): """Create ticket data. :param role: running user. """ ticket_id = [] for i in range(_CREATE_TICKET_COUNT): st_create = self.clients[role].run_command( 'ticket-create', params=' --ticket-template-id {0}' ' --ticket-detail {1}' ' --status-code {2}'.format( ticket_template_id, '\'{"num": "0"}\'', "applied")) # Check got UUID id = output_parser.tables(st_create)[0]['values'][0][0] self.assertTrue(id is not None) ticket_id.append(id) return ticket_id
def _list_catalog_contents(self, role, catalog_id, seq_no): """List catalog contents data. :param role: running user. :param catalog_id: Catalog id. """ st_list = self.clients[role].run_command( 'catalog-contents-list', params=' --catalog-id {0}' ' --limit {1}' ' --force-show-deleted {2}'.format(catalog_id, '1000', 'true')) catalog_contents_list = output_parser.tables(st_list)[0]['values'] self.assertTrue(len(catalog_contents_list) >= 1) # Check all param result = False for catalog_contents in catalog_contents_list: if catalog_contents[1] == seq_no: result = True break self.assertTrue(result) return catalog_contents_list
def _update_price(self, role, catalog_id, scope, seq_no): """Update price data. :param role: running user. :param catalog_id: Catalog id. :param scope: scope. :pram seq_no: Seq no. :param price: price. """ st_update = self.clients[role].run_command( 'price-update', params=' --catalog-id {0}' ' --scope {1}' ' --seq-no {2}' ' --price {3}' ' --lifetime-start {4}' ' --lifetime-end {5}' .format(catalog_id, scope, seq_no, '678.91', '2016-01-01T01:02:03.123456', '2016-11-12T04:05:06.234567')) price = output_parser.tables(st_update)[0]['values'] # Check all param check_param = {'catalog_id': catalog_id, 'scope': scope, 'seq_no': seq_no, 'price': '678.91', 'lifetime_start': '2016-01-01T01:02:03.123456', 'lifetime_end': '2016-11-12T04:05:06.234567', } self._check_return_param(price[0], check_param) return price
def _create_contract(self, role, project_id): """Create contract data. :param role: running user. """ st_create_dammy = self.clients[role].run_command( 'contract-create', params=' --region-id {0}' ' --project-id {1}' ' --project-name {2}' ' --catalog-id {3}' ' --catalog-name {4}' ' --num {5}' ' --parent-ticket-template-id {6}' ' --ticket-template-id {7}' ' --parent-ticket-template-name {8}' ' --ticket-template-name {9}' ' --parent-application-kinds-name {10}' ' --application-kinds-name {11}' ' --cancel-application-id {12}' ' --application-id {13}' ' --application-name {14}' ' --application-date {15}' ' --parent-contract-id {16}' ' --lifetime-start {17}' ' --lifetime-end {18}' .format('region_id_dammy', '5d19ec09dfb04e83b8385a2365c217e0', 'project_name', 'catalog_id', 'catalog_name', '1234', 'parent_ticket_template_id', 'ticket_template_id', 'parent_ticket_template_name', 'ticket_template_name', 'parent_application_kinds_name', 'application_kinds_name', 'cancel_application_id', 'application_id', 'application_name', '2015-09-10T06:07:08.345678', 'parent_contract_id', '2015-01-01T01:02:03.123456', '2015-11-12T04:05:06.234567')) st_create = self.clients[role].run_command( 'contract-create', params=' --region-id {0}' ' --project-id {1}' ' --project-name {2}' ' --catalog-id {3}' ' --catalog-name {4}' ' --num {5}' ' --parent-ticket-template-id {6}' ' --ticket-template-id {7}' ' --parent-ticket-template-name {8}' ' --ticket-template-name {9}' ' --parent-application-kinds-name {10}' ' --application-kinds-name {11}' ' --cancel-application-id {12}' ' --application-id {13}' ' --application-name {14}' ' --application-date {15}' ' --parent-contract-id {16}' ' --lifetime-start {17}' ' --lifetime-end {18}' .format('region_id', project_id, 'project_name', 'catalog_id', 'catalog_name', '1234', 'parent_ticket_template_id', 'ticket_template_id', 'parent_ticket_template_name', 'ticket_template_name', 'parent_application_kinds_name', 'application_kinds_name', 'cancel_application_id', 'application_id', 'application_name', '2015-09-10T06:07:08.345678', 'parent_contract_id', '2015-01-01T01:02:03.123456', '2015-11-12T04:05:06.234567')) # Check got UUID contract_id = output_parser.tables(st_create)[0]['values'][0][0] self.assertTrue(contract_id is not None) contract_id_dammy = \ output_parser.tables(st_create_dammy)[0]['values'][0][0] # Check all param check_param = {'contract_id': contract_id, 'region-id': 'region_id', 'project-id': project_id, 'project-name': 'project_name', 'catalog-id': 'catalog_id', 'catalog-name': 'catalog_name', 'num': '1234', 'parent-ticket-template-id': 'parent_ticket_template_id', 'ticket-template-id': 'ticket_template_id', 'parent-ticket-template-name': 'parent_ticket_template_name', 'ticket-template-name': 'ticket_template_name', 'parent-application-kinds-name': 'parent_application_kinds_name', 'application-kinds-name': 'application_kinds_name', 'cancel-application-id': 'cancel_application_id', 'application-id': 'application_id', 'application-name': 'application_name', 'application-date': '2015-09-10T06:07:08.000000', 'parent-contract-id': 'parent_contract_id', 'lifetime-start': '2015-01-01T01:02:03.000000', 'lifetime-end': '2015-11-12T04:05:06.000000', } self._check_return_param( output_parser.tables(st_create)[0]['values'][0], check_param) return contract_id, contract_id_dammy
def _update_contract(self, role, contract_id): """Update contract data. :param role: running user. :param contract_id: Contract id. :param contract: contract. """ st_update = self.clients[role].run_command( 'contract-update', params=' --contract-id {0}' ' --region-id {1}' ' --project-id {2}' ' --project-name {3}' ' --catalog-id {4}' ' --catalog-name {5}' ' --num {6}' ' --parent-ticket-template-id {7}' ' --ticket-template-id {8}' ' --parent-ticket-template-name {9}' ' --ticket-template-name {10}' ' --parent-application-kinds-name {11}' ' --application-kinds-name {12}' ' --cancel-application-id {13}' ' --application-id {14}' ' --application-name {15}' ' --application-date {16}' ' --parent-contract-id {17}' ' --lifetime-start {18}' ' --lifetime-end {19}' .format(contract_id, 'region_id_updated', '5d19ec09dfb04e83b8385a2365c217e0', 'project_name', 'catalog_id', 'catalog_name', '1234', 'parent_ticket_template_id', 'ticket_template_id', 'parent_ticket_template_name', 'ticket_template_name', 'parent_application_kinds_name', 'application_kinds_name', 'cancel_application_id', 'application_id', 'application_name', '2015-09-11T06:07:08.345678', 'parent_contract_id', '2015-01-02T01:02:03.123456', '2015-11-13T04:05:06.234567',)) contract = output_parser.tables(st_update)[0]['values'] # Check all param check_param = {'contract_id': contract_id, 'region-id': 'region_id_updated', 'project-id': '5d19ec09dfb04e83b8385a2365c217e0', 'project-name': 'project_name', 'catalog-id': 'catalog_id', 'catalog-name': 'catalog_name', 'num': '1234', 'parent-ticket-template-id': 'parent_ticket_template_id', 'ticket-template-id': 'ticket_template_id', 'parent-ticket-template-name': 'parent_ticket_template_name', 'ticket-template-name': 'ticket_template_name', 'parent-application-kinds-name': 'parent_application_kinds_name', 'application-kinds-name': 'application_kinds_name', 'cancel-application-id': 'cancel_application_id', 'application-id': 'application_id', 'application-name': 'application_name', 'application-date': '2015-09-11T06:07:08.345678', 'parent-contract-id': 'parent_contract_id', 'lifetime-start': '2015-01-02T01:02:03.123456', 'lifetime-end': '2015-11-13T04:05:06.234567', } self._check_return_param(contract[0], check_param) return contract