Esempio n. 1
0
def test_upload_package(stderr, stdout):
    with HTTMock(upload_packages_mock):
        tool = packages.PackagesTool()
        server = Server('localhost')

        status = tool.execute(
            server, ['packages', 'upload', 'tests/test_data/mock_package.zip'])
        eq_(0, status)
        eq_('my_packages\tmock-package\t1.0\n', stdout.getvalue())
        eq_('', stderr.getvalue())
Esempio n. 2
0
def test_uninstall_package(stderr, stdout):
    with HTTMock(packages_mock):
        tool = packages.PackagesTool()
        server = Server('localhost')

        status = tool.execute(server,
                              ['packages', 'uninstall', 'mock_package'])
        eq_(0, status)
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())
Esempio n. 3
0
def test_download(stderr, stdout):
    with HTTMock(packages_mock):
        tool = tool_repo.get_tool('package')
        server = Server('localhost')
        status = tool.execute(server, ['package', 'download', 'mock_package'])
    eq_(0, status)
    eq_('mock_package-1.6.5.zip\n', stdout.getvalue())
    eq_('', stderr.getvalue())
    url, request = get_command_stack()[-1]
    eq_('/etc/packages/test_packages/mock_package-1.6.5.zip', url.path)
Esempio n. 4
0
def test_file_does_not_exist(stderr, stdout):
    tool = tool_repo.get_tool('config')
    server = Server('localhost')
    ret = tool.execute(
        server, ['config', 'encrypt', '-f', 'thisisnotafile', 'localhost'])

    eq_(USER_ERROR, ret)
    eq_('error: Requested file thisisnotafile does not exist\n',
        stderr.getvalue())
    eq_('', stdout.getvalue())
Esempio n. 5
0
def test_find_stdin(stderr, stdout):
    with HTTMock(service_mock):
        tool = get_tool('find')
        server = Server('localhost')
        status = tool.execute(server, ['find'])
        eq_(0, status)
        eq_(
            '/content\n/content/path\n/content/path/node\n/content/path/directory\n',
            stdout.getvalue())
        eq_('', stderr.getvalue())
Esempio n. 6
0
def test_set_property(stderr, stdout):
    tool = tool_repo.get_tool('user')
    server = Server('localhost')
    with HTTMock(setprop_service_mock):
        status = tool.execute(
            server,
            ['user', 'setprop', 'jdoe', 'prop0=val0,prop1="Quoted value"'])
    eq_(OK, status)
    eq_('/home/users/j/jdoe\n', stdout.getvalue())
    eq_('', stderr.getvalue())
Esempio n. 7
0
def test_print_help(stderr, stdout):
    tool = tool_repo.get_tool('user')
    server = Server('localhost')
    try:
        status = tool.execute(server, ['user', '--help'])
    except SystemExit as e:
        status = e.code
    eq_(0, status)
    ok_(len(stdout.getvalue()) > 0)
    eq_('', stderr.getvalue())
Esempio n. 8
0
def test_format_config():
    tmp_filepath = create_config()

    tool = tool_repo.get_tool('config')
    server = Server('localhost')
    ret = tool.execute(server, ['config', 'format', '-f', tmp_filepath])

    eq_(OK, ret)
    new_config = load_config(tmp_filepath)
    eq_(PLAINTEXT_CONFIG, new_config)
    os.remove(tmp_filepath)
Esempio n. 9
0
def test_command_does_not_exist(stderr, stdout):
    _, tmp_filepath = tempfile.mkstemp(".rc")

    tool = tool_repo.get_tool('config')
    server = Server('localhost')
    ret = tool.execute(server, ['config', 'somethingelse', '-f', tmp_filepath])

    eq_(USER_ERROR, ret)
    eq_("error: Unknown command 'somethingelse'\n", stderr.getvalue())
    eq_('', stdout.getvalue())
    os.remove(tmp_filepath)
Esempio n. 10
0
def test_error_response(stderr, stdout):
    with HTTMock(broken_service):
        tool = get_tool('groovy')
        server = Server('localhost')
        status = tool.execute(server,
                              ['groovy', 'tests/test_data/script.groovy'])
        eq_(SERVER_ERROR, status)
        eq_('', stdout.getvalue())
        eq_(
            'error: Failed to run script tests/test_data/script.groovy: error message\n',
            stderr.getvalue())
Esempio n. 11
0
def test_setprop_stdin(_, stdout):
    service_mock = MockHttpService()
    with HTTMock(service_mock):
        tool = tool_repo.get_tool('setprop')
        server = Server('localhost')
        status = tool.execute(server, ['setprop', 'prop0=value0,prop1=value1'])
        eq_(0, status)
        eq_('/path0\n/path1\n', stdout.getvalue())
    eq_(2, len(service_mock.req_log))
    eq_({('prop1', 'value1'), ('prop0', 'value0')},
        set(service_mock.req_log[0].body.fields))
Esempio n. 12
0
def test_mv(stderr, stdout):
    service_mock = MockHttpService()
    with HTTMock(service_mock):
        tool = tool_repo.get_tool('mv')
        server = Server('localhost')
        status = tool.execute(server, ['mv', '/content/src_node', '/content/dst_node'])
        eq_(0, status)
        eq_('/content/dst_node\n', stdout.getvalue())
    eq_(1, len(service_mock.req_log))
    eq_('/content/src_node', service_mock.url_log[0].path)
    eq_('%3Aoperation=move&%3Adest=%2Fcontent%2Fdst_node', service_mock.req_log[0].body)
Esempio n. 13
0
def test_list_packages(stdout):
    with HTTMock(packages_mock):
        tool = PackageTool()
        server = Server('localhost')

        tool.execute(server, ['package', 'list'])

        i = 0
        for line in EXPECTED_LIST:
            eq_(line, untab(stdout.getvalue())[i])
            i += 1
Esempio n. 14
0
def test_upload_package_raw(stderr, stdout):
    with HTTMock(upload_packages_mock):
        tool = PackageTool()
        server = Server('localhost')

        status = tool.execute(
            server,
            ['package', 'upload', '--raw', 'tests/test_data/mock_package.zip'])
        eq_(0, status)
        eq_('', stderr.getvalue())
        eq_(True, len(stdout.getvalue()) > 0)
Esempio n. 15
0
def test_install_package_raw(stderr, stdout):
    with HTTMock(packages_mock):
        tool = PackageTool()
        server = Server('localhost')

        status = tool.execute(server,
                              ['package', 'install', '--raw', 'mock_package'])
        eq_(0, status)
        eq_('{"success": true, "msg": "Package Installed"}\n',
            stdout.getvalue())
        eq_('', stderr.getvalue())
Esempio n. 16
0
def test_start_workflow(stderr, stdout):
    wf_service = MockWorkflowsService()

    service = MockHttpService(wf_service)

    with HTTMock(service):
        tool = get_tool('workflows')
        server = Server('localhost')
        status = tool.execute(server, ['workflows', 'start', '/dam/update_asset', '/content/dam/something/image.png'])
        eq_('', stderr.getvalue())
        eq_(stdout.getvalue().startswith('/dam/update_asset-'), True)
        eq_(0, status)
Esempio n. 17
0
def test_rcp_rm(stderr, stdout):
    task_service = MockTaskService()
    task_service.create_task('rcp-0ed9f8', 'rcp-0ed9f8')
    service = MockHttpService(task_service)

    with HTTMock(service):
        tool = get_tool('rcp')
        server = Server('localhost')
        status = tool.execute(server, ['rcp', 'rm', 'rcp-0ed9f8'])
        eq_(0, status)
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())
Esempio n. 18
0
def test_encrypt_password(random_bytes, getpass):
    getpass.return_value = "foobarpass"
    random_bytes.return_value = b'0123456789abcdef'
    tmp_filepath = create_config()

    tool = tool_repo.get_tool('config')
    server = Server('localhost')
    ret = tool.execute(server, ['config', 'encrypt', '-f', tmp_filepath, 'localhost'])

    eq_(OK, ret)
    new_config = load_config(tmp_filepath)
    eq_(ENCRYPTED_CONFIG, new_config)
    os.remove(tmp_filepath)
Esempio n. 19
0
def test_build_package(stderr, stdout):
    with HTTMock(packages_mock):
        tool = tool_repo.get_tool('package')
        server = Server('localhost')
        status = tool.execute(server, ['package', 'build', 'mock_package'])
        eq_(0, status)
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())
        url, request = get_command_stack()[-1]
        eq_(
            '/crx/packmgr/service/.json/etc/packages/test_packages/mock_package-1.6.5.zip',
            url.path)
        eq_('cmd=build', request.body)
Esempio n. 20
0
def test_upload_package(stderr, stdout):
    with HTTMock(upload_packages_mock):
        tool = PackageTool()
        server = Server('localhost')

        status = tool.execute(
            server, ['package', 'upload', 'tests/test_data/mock_package.zip'])
        eq_(0, status)
        eq_([
            "my_packages", "mock-package", "1.0",
            "Tue, 29 Sep 2015 16:20:59 -0400"
        ],
            untab(stdout.getvalue())[0])
        eq_('', stderr.getvalue())
Esempio n. 21
0
def test_start_workflow(stderr, stdout):
    wf_service = MockWorkflowsService()

    service = MockWorkflowHttpService(wf_service)

    with HTTMock(service):
        tool = tool_repo.get_tool('workflow')
        server = Server('localhost')
        status = tool.execute(server, [
            'workflow', 'start', '/dam/update_asset',
            '/content/dam/something/image.png/jcr:content/renditions/original'
        ])
        eq_('', stderr.getvalue())
        ok_(stdout.getvalue().startswith('/dam/update_asset-'))
        eq_(0, status)
Esempio n. 22
0
def test_cat_stdin(stderr, stdout):
    with HTTMock(service_mock):
        tool = tool_repo.get_tool('cat')
        server = Server('localhost')
        status = tool.execute(server, ['cat'])
        eq_(0, status)

        exp = {
            'text': "Something something",
            'jcr:primaryType': 'nt:unstructured',
            'title': 'Test Title'
        }

        eq_(exp, parse_cat(stdout.getvalue()))
        eq_('', stderr.getvalue())
Esempio n. 23
0
def test_encrypt_decrypt(random_bytes, getpass):
    getpass.return_value = "somepassword"
    random_bytes.return_value = b'fedcba0987654321'
    tmp_filepath = create_config()

    tool = tool_repo.get_tool('config')
    server = Server('localhost')
    ret = tool.execute(server, ['config', 'encrypt', '-f', tmp_filepath, 'localhost'])

    eq_(OK, ret)
    ret = tool.execute(server, ['config', 'decrypt', '-f', tmp_filepath, 'localhost'])
    eq_(OK, ret)
    data = load_config(tmp_filepath)
    eq_(PLAINTEXT_CONFIG, data)
    os.remove(tmp_filepath)
Esempio n. 24
0
def test_stop_bundle(stderr, stdout):
    global _expected_action
    _expected_action = 'stop'
    with HTTMock(mock_bundle):
        tool = tool_repo.get_tool('bundle')
        server = Server('localhost')
        ret = tool.execute(server, ['bundle', 'stop', 'mock_bundle'])
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())
        eq_(None, ret)

        ret = tool.execute(server, ['bundles', 'stop', '--raw', 'mock_bundle'])
        eq_('{"fragment":false,"stateRaw":4}\n', stdout.getvalue())
        eq_('', stderr.getvalue())
        eq_(None, ret)
Esempio n. 25
0
def test_mv_to_parent(stderr, stdout):
    service_mock = MockHttpService()
    with HTTMock(service_mock):
        tool = tool_repo.get_tool('mv')
        server = Server('localhost')
        status = tool.execute(server, ['mv', '/content/src_node', '/backup/'])
        eq_(0, status)
        eq_('/backup/src_node\n', stdout.getvalue())
    eq_(1, len(service_mock.req_log))
    eq_('/content/src_node', service_mock.url_log[0].path)

    exp = {
        ':operation': 'move',
        ':dest': '/backup/'
    }
    eq_(exp, parse_body(service_mock.req_log[0].body))
Esempio n. 26
0
def test_rcp_stop(stderr, stdout):
    task_service = MockTaskService()
    task_service.create_task('rcp-0ed9f8', '/content/dam/something')
    task_service.start_task('rcp-0ed9f8')
    service = MockHttpService(task_service)

    with HTTMock(service):
        tool = get_tool('rcp')
        server = Server('localhost')
        # TODO: Run tests without force flag
        status = tool.execute(server, ['rcp', 'stop', 'rcp-0ed9f8', '--force'])
        eq_(0, status)
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())

    eq_('STOPPED', task_service.tasks['rcp-0ed9f8']['status']['state'])
Esempio n. 27
0
def test_import_asset_directory(stderr, stdout):
    http_service = MockHttpService()

    lock_dir = tempfile.mkdtemp()
    with HTTMock(http_service):
        tool = AssetsTool()
        server = Server('localhost')
        status = tool.execute(server, [
            'assets', '--lock-dir={}'.format(lock_dir), 'import',
            'tests/test_data/assets'
        ])

    eq_('', stderr.getvalue())

    lines = stdout.getvalue().split('\n')
    eq_(4, len(lines))
    _is_valid_upload_line(lines[0], [
        '2016-11-25 13:12:01', '1/3',
        'tests/test_data/assets/logo.jpg -> /content/dam/assets', '0.0192'
    ])
    _is_valid_upload_line(lines[1], [
        '2016-11-25 13:12:01', '2/3',
        'tests/test_data/assets/subdir/graph.jpg -> /content/dam/assets/subdir',
        '0.0192'
    ])
    _is_valid_upload_line(lines[2], [
        '2016-11-25 13:12:01', '3/3',
        'tests/test_data/assets/subdir/graph2.jpg -> /content/dam/assets/subdir',
        '0.0192'
    ])

    eq_(OK, status)

    eq_(5, len(http_service.req_log))
    eq_(http_service.req_log[0].url,
        'http://localhost:4502/content/dam/assets')
    eq_(http_service.req_log[1].url,
        'http://localhost:4502/content/dam/assets.createasset.html')
    eq_(http_service.req_log[2].url,
        'http://localhost:4502/content/dam/assets/subdir')
    eq_(http_service.req_log[3].url,
        'http://localhost:4502/content/dam/assets/subdir.createasset.html')
    # Skipped creating subdir for the second file
    eq_(http_service.req_log[4].url,
        'http://localhost:4502/content/dam/assets/subdir.createasset.html')

    shutil.rmtree(lock_dir)
Esempio n. 28
0
def test_rcp_fetch(stderr, stdout):
    service = MockHttpService()

    with HTTMock(service):
        tool = get_tool('rcp')
        server = Server('localhost')
        # TODO: Run tests without force flag
        status = tool.execute(server, [
            'rcp', 'fetch', '-s', 'other-server:4502', '-c', '"jdoe:abc123"',
            '/content/dam/test-fetch', '--force'
        ])
        eq_('', stdout.getvalue())
        eq_('', stderr.getvalue())
        eq_(0, status)

    eq_(['create', 'list', 'start', 'list', 'remove'],
        service.task_service.log)
Esempio n. 29
0
def test_touch_asset(stderr, stdout):
    service = MockWorkflowsService()
    http_service = MockWorkflowHttpService(service)
    eq_([], http_service.request_log)

    with HTTMock(http_service):
        tool = AssetTool()
        server = Server('localhost')
        status = tool.execute(server, ['asset', 'touch', '/hosts/bernard.jpg'])

    eq_('', stderr.getvalue())
    eq_('/content/dam/hosts/bernard.jpg/jcr:content/renditions/original\n',
        stdout.getvalue())
    eq_(OK, status)

    eq_(1, len(http_service.request_log))
    eq_(('POST', '/etc/workflow/instances'),
        typeof(http_service.request_log[0]))
    eq_([], service.instances)
Esempio n. 30
0
def test_import_asset_file(stderr, stdout):
    http_service = RecordingHttpService()

    lock_dir = tempfile.mkdtemp()
    with HTTMock(http_service):
        tool = AssetTool()
        server = Server('localhost')
        status = tool.execute(
            server, ['asset', 'import', 'tests/test_data/assets/logo.jpg'])

    eq_('', stderr.getvalue())
    eq_(stdout.getvalue(), 'tests/test_data/assets/logo.jpg -> /assets\n')
    eq_(OK, status)

    eq_(2, len(http_service.req_log))
    eq_(http_service.req_log[0].url, 'http://localhost:4502/api/assets/assets')
    eq_(http_service.req_log[1].url,
        'http://localhost:4502/api/assets/assets/logo.jpg')

    shutil.rmtree(lock_dir)