Exemple #1
0
def main():
    parser = argparse.ArgumentParser(description="run export from testpad ",
                                     epilog="pycharm help\n"
                                     "=============\n"
                                     "tbc \n",
                                     formatter_class=RawTextHelpFormatter)
    parser.add_argument('-p',
                        '--report_project',
                        help='report_project',
                        default=os.getenv('reportProject'))
    parser.add_argument('-f',
                        '--report_folder',
                        help='report_folder',
                        default=os.getenv('reportFolder'))
    parser.add_argument('-o',
                        '--out_dir',
                        help='out_dir',
                        default=os.getenv('out_dir'))

    args = parser.parse_args()
    report_project = args.report_project
    report_folder = args.report_folder
    out_dir = args.out_dir

    if out_dir.startswith("~"):
        home = os.path.expanduser("~")
        out_dir = os.path.join(home, out_dir.replace("~/", '', 1),
                               str(time.time()).replace('.', ''))

    Project.set(report_project)
    User.set(authentication.authenticate())

    export = TestpadExporter(user=User.get(),
                             project=Project.get(),
                             report_folder=report_folder,
                             out_dir=out_dir)
    print(out_dir)
    suites = export.export_tests()
    # importer = TestRailXMLImporter(out_dir=out_dir, suites=suites)
    # importer.create_sections()
    # importer.create_xml_for_import()
    importer = TestRailCSVImporter(out_dir=out_dir, suites=suites)
    importer.create_sections()
    importer.create_csv_for_import()
def main():
    # todo: add argparse to override the env vars which should only be a fallback
    # todo: add logging
    # todo: add unit tests
    # todo: add error handling
    project = os.getenv('project')
    # targetfolder = os.getenv('targetfolder')
    checkout_dir = os.getenv('checkoutDir')
    if checkout_dir.startswith("~"):
        home = os.path.expanduser("~")
        checkout_dir = os.path.join(home, checkout_dir.replace("~/", '', 1))

    Project.set(project)
    User.set(authentication.authenticate())

    ldr = testpad_loader.Loader(
        user=User.get(),
        project=Project.get(),  # targetfolder=targetfolder,
        checkout_dir=checkout_dir)  # , create_folder_func=mock_create_folder)
    ldr.load_tests()
        user=user,
        referer="{url}/project/{project}/folder/{folder}/".format(
            url=user.testpad_url, project=project, folder=parent))
    new_folder_response = requests.post(
        '{url}/a/project/{project}/folder/{folder}/newFolder'.format(
            url=user.testpad_url, project=project, folder=parent),
        headers=headers,
        json='{"data":null}')
    assert new_folder_response.status_code is 200
    authentication.update_cookies(response=new_folder_response,
                                  user=user,
                                  **kwargs)
    return new_folder_response.json()


if __name__ == '__main__':
    import os
    import json
    from testpad.statics import User, Project

    target_folder = os.getenv('targetfolder')
    Project.set(os.getenv('project'))
    User.set(authentication.authenticate())

    folder = create_folder(user=User.get(),
                           project=Project.get(),
                           targetfolder=target_folder,
                           name="refactor_me")
    assert folder
    print(json.dumps(folder, indent=4))