Example #1
0
 def test_generate_file_structure_dict(self, project_function):
     _, project = project_function.activate()
     page.create_page(project, 'page_one')
     page.create_page(project, 'module.page_two')
     path = Project(project).page_directory_path
     file_structure = file_manager.generate_file_structure_dict(path)
     expected_result = {
         'type': 'directory',
         'name': 'pages',
         'dot_path': '',
         'sub_elements': [
             {
                 'type': 'directory',
                 'name': 'module',
                 'dot_path': 'module',
                 'sub_elements': [
                         {
                             'type': 'file',
                             'name': 'page_two',
                             'dot_path': 'module.page_two',
                             'sub_elements': []
                         }
                     ]
             },
             {
                 'type': 'file',
                 'name': 'page_one',
                 'dot_path': 'page_one',
                 'sub_elements': []
             }
         ]
     }
     assert file_structure == expected_result
Example #2
0
 def test_create_page_invalid_name(self, project_session):
     _, project = project_session.activate()
     errors = page.create_page(project, 'invalid-name')
     assert errors == ['Only letters, numbers and underscores are allowed']
     errors = page.create_page(project, 'test.')
     assert errors == ['File name cannot be empty']
     errors = page.create_page(project, '.test')
     assert errors == ['Directory name cannot be empty']
Example #3
0
 def test_create_page_into_subdirectory(self, project_session, test_utils):
     _, project = project_session.activate()
     random_dir = test_utils.random_string()
     page_name = '{}.page_name'.format(random_dir)
     page.create_page(project, page_name)
     init_path = os.path.join(Project(project).page_directory_path,
                              random_dir, '__init__.py')
     assert os.path.isfile(init_path)
Example #4
0
 def test_get_files_dot_path(self, project_function):
     _, project = project_function.activate()
     page.create_page(project, 'page1')
     page.create_page(project, 'dir.subdir.page2')
     base_path = os.path.join(project_function.path, 'pages')
     dot_files = file_manager.get_files_dot_path(base_path)
     expected_result = ['page1', 'dir.subdir.page2']
     assert dot_files == expected_result
Example #5
0
 def test_get_files_dot_path_with_extension(self, project_function):
     _, project = project_function.activate()
     page.create_page(project, 'page2')
     base_path = os.path.join(project_function.path, 'pages')
     another_extension = os.path.join(base_path, 'another.json')
     open(another_extension, 'w+').close()
     dot_files = file_manager.get_files_dot_path(base_path, extension='.py')
     expected_result = ['page2']
     assert dot_files == expected_result
Example #6
0
def _create_project_element(project_name, element_name, element_type):
    errors = []
    _verify_permissions(Permissions.STANDARD, project_name)
    if element_type == Project.file_types.TEST:
        errors = test_module.create_test(project_name, element_name)
    elif element_type == Project.file_types.PAGE:
        errors = page_module.create_page(project_name, element_name)
    elif element_type == Project.file_types.SUITE:
        errors = suite_module.create_suite(project_name, element_name)
    else:
        errors.append('Invalid element type {}'.format(element_type))
    return jsonify({'errors': errors})
Example #7
0
def _create_project_element(project, element_name, element_type):
    errors = []
    if element_type == 'test':
        errors = test_module.create_test(project, element_name)
    elif element_type == 'page':
        errors = page_module.create_page(project, element_name)
    elif element_type == 'suite':
        errors = suite_module.create_suite(project, element_name)
    else:
        errors.append('Invalid element type {}'.format(element_type))
    element = {
        'name': element_name.split('.')[-1],
        'full_name': element_name
    }
    return element, errors
Example #8
0
 def test_page_tree(self, project_function):
     _, project = project_function.activate()
     page.create_page(project, 'subdir1.subdir2.test3')
     page.create_page(project, 'subdir1.test2')
     page.create_page(project, 'test1')
     pages = Project(project).page_tree
     expected = {
         'type':
         'directory',
         'name':
         'pages',
         'dot_path':
         '',
         'sub_elements': [{
             'type':
             'directory',
             'name':
             'subdir1',
             'dot_path':
             'subdir1',
             'sub_elements': [{
                 'type':
                 'directory',
                 'name':
                 'subdir2',
                 'dot_path':
                 'subdir1.subdir2',
                 'sub_elements': [{
                     'type': 'file',
                     'name': 'test3',
                     'dot_path': 'subdir1.subdir2.test3',
                     'sub_elements': []
                 }]
             }, {
                 'type': 'file',
                 'name': 'test2',
                 'dot_path': 'subdir1.test2',
                 'sub_elements': []
             }]
         }, {
             'type': 'file',
             'name': 'test1',
             'dot_path': 'test1',
             'sub_elements': []
         }]
     }
     assert pages == expected
Example #9
0
 def create_random_page(project, code=None):
     page_name = TestUtils.random_string(10)
     page.create_page(project, page_name)
     if code is not None:
         page.edit_page_code(project, page_name, code)
     return page_name
Example #10
0
 def create_page(project, page_name):
     page.create_page(project, page_name)
Example #11
0
 def test_create_page_page_exists(self, project_session, test_utils):
     _, project = project_session.activate()
     page_name = test_utils.random_string()
     page.create_page(project, page_name)
     errors = page.create_page(project, page_name)
     assert errors == ['A page with that name already exists']
Example #12
0
 def test_create_page(self, project_session, test_utils):
     _, project = project_session.activate()
     page_name = test_utils.random_string()
     page.create_page(project, page_name)
     assert page_name in Project(project).pages()
Example #13
0
 def test_create_page_invalid_name(self, project_session):
     _, project = project_session.activate()
     errors = page.create_page(project, 'invalid-name')
     assert errors == ['Only letters, numbers and underscores are allowed']