diff --git a/test_API.py b/test_API.py index eb6a345..70b4604 100644 --- a/test_API.py +++ b/test_API.py @@ -425,6 +425,99 @@ def test_get_content_from_another_ecosystem(self): self.unit.assertEqual(must_be, expected_value, 'Dictionaries are different!') + def test_get_content_page_with_menu_from_different_ecosystems(self): + page_name = 'Page_' + tools.generate_random_name() + menu_name = 'Menu_' + tools.generate_random_name() + ecosys_num = 1 + # create menu in first ecosystem + menu_title1 = 'Test menu {}'.format(ecosys_num) + menu_value = 'MenuItem(Title:"{}")'.format(menu_title1) + res = contract.new_menu(self.url, + self.pr_key, + self.token, + menu_name, + menu_value, + ecosystem=ecosys_num) + check.is_tx_in_block(self.url, self.wait, res, self.token) + # create page in first ecosystem + page_text1 = 'Page in {} ecosystem'.format(ecosys_num) + page_value = 'Span({})'.format(page_text1) + res = contract.new_page(self.url, + self.pr_key, + self.token, + page_name, + page_value, + menu=menu_name, + ecosystem=ecosys_num) + check.is_tx_in_block(self.url, self.wait, res, self.token) + p_name1 = '@{ecosys_num}{page_name}'.format( + ecosys_num=ecosys_num, + page_name=page_name + ) + # create new ecosystem + ecosys_name = 'Ecosys_' + tools.generate_random_name() + res = contract.new_ecosystem(self.url, + self.pr_key, + self.token, + ecosys_name) + check.is_tx_in_block(self.url, self.wait, res, self.token) + ecosys_num = api.ecosystems(self.url, self.token)['number'] + # login founder in new ecosystem + data2 = actions.login(self.url, self.pr_key, 0, ecosys_num) + token2 = data2['jwtToken'] + # create menu in new ecosystem + menu_title2 = 'Test menu {}'.format(ecosys_num) + menu_value = 'MenuItem(Title:"{}")'.format(menu_title2) + res = contract.new_menu(self.url, + self.pr_key, + token2, + menu_name, + menu_value, + ecosystem=ecosys_num) + check.is_tx_in_block(self.url, self.wait, res, token2) + # create page in new ecosystem + page_text2 = 'Page in {} ecosystem'.format(ecosys_num) + page_value = 'Span({})'.format(page_text2) + res = contract.new_page(self.url, + self.pr_key, + token2, + page_name, + page_value, + menu=menu_name, + ecosystem=ecosys_num) + check.is_tx_in_block(self.url, self.wait, res, token2) + p_name2 = '@{ecosys_num}{page_name}'.format( + ecosys_num=ecosys_num, + page_name=page_name + ) + # test + res_page11 = api.content(self.url, self.token, 'page', p_name1) + res_page12 = api.content(self.url, self.token, 'page', p_name2) + res_page22 = api.content(self.url, token2, 'page', p_name2) + res_page21 = api.content(self.url, token2, 'page', p_name1) + expected = dict( + page11=page_text1, + page12=page_text2, + menu11=menu_title1, + menu12=menu_title1, + page22=page_text2, + page21=page_text1, + menu22=menu_title2, + menu21=menu_title2, + ) + actual = dict( + page11=res_page11['tree'][0]['children'][0]['text'], + page12=res_page12['tree'][0]['children'][0]['text'], + menu11=res_page11['menutree'][0]['attr']['title'], + menu12=res_page12['menutree'][0]['attr']['title'], + page22=res_page22['tree'][0]['children'][0]['text'], + page21=res_page21['tree'][0]['children'][0]['text'], + menu22=res_page22['menutree'][0]['attr']['title'], + menu21=res_page21['menutree'][0]['attr']['title'], + ) + self.unit.assertEqual(actual, expected, + 'Dictionaries are different!') + def test_get_back_api_version(self): asserts = ['.'] res = api.version(self.url, self.token)