def test_authenticate_success(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"session_token":"2352e5c5a0127d2155377664a5543f22a70be187"}'
    json = "{u'client_ip': u'127.0.0.1', u'service': u'Name.com API Test Server', u'language': u'en', u'version': u'2.0', u'result': {u'message': u'Command Successful', u'code': 100}, u'server_date': u'2013-12-28 04:46:38'}"
    expected_token = "2352e5c5a0127d2155377664a5543f22a70be187"
    stdout_expected = textwrap.dedent("""\
        Method authenticate start.
        Opening connection to {url}
        Method authenticate end.
        """.format(url="http://127.0.0.1/login", response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.authenticate    Method authenticate start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.authenticate    Method authenticate end.
        """.format(url="http://127.0.0.1/login", response=response, json=json, ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.authenticate()
    assert expected_token == session._session_token

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #2
0
def test_validate_domain_candidates_error(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"domains":{"example.com":0,"com":0}}'
    json = "{u'domains': {u'com': 0, u'example.com': 0}, u'result': {u'message': u'Command Successful', u'code': 100}}"
    url = "http://127.0.0.1/domain/list"
    stdout_expected = textwrap.dedent("""\
        Method validate_domain start.
        Opening connection to {url}
        Response: {response}
        JSON: {json}
        """.format(url=url, response=response, json=json))
    stderr_expected = "Cannot figure out main domain: [u'com', u'example.com']\n"
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.validate_domain Method validate_domain start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.validate_domain Response: {response}
        {ts} DEBUG    registrar_base.validate_domain JSON: {json}
        {ts} ERROR    registrar_base.validate_domain Cannot figure out main domain: [u'com', u'example.com']
        """.format(url=url, response=response, json=json, ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    with pytest.raises(ValueError):
        session.validate_domain()

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #3
0
def test_authenticate_success(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"session_token":"2352e5c5a0127d2155377664a5543f22a70be187"}'
    json = "{u'client_ip': u'127.0.0.1', u'service': u'Name.com API Test Server', u'language': u'en', u'version': u'2.0', u'result': {u'message': u'Command Successful', u'code': 100}, u'server_date': u'2013-12-28 04:46:38'}"
    expected_token = "2352e5c5a0127d2155377664a5543f22a70be187"
    stdout_expected = textwrap.dedent("""\
        Method authenticate start.
        Opening connection to {url}
        Method authenticate end.
        """.format(url="http://127.0.0.1/login", response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.authenticate    Method authenticate start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.authenticate    Method authenticate end.
        """.format(url="http://127.0.0.1/login",
                   response=response,
                   json=json,
                   ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.authenticate()
    assert expected_token == session._session_token

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #4
0
def _heavy_lifting(response, log_file, session, expected_ips, capsys, stdout_expected, stderr_expected, log_expected):
    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.get_records()
    assert expected_ips == session.recorded_ips
    decider(session)

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
def _heavy_lifting(response, log_file, session, expected_exc, capsys, stdout_expected, stderr_expected, log_expected):
    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    with pytest.raises(session.RegistrarException) as e:
        session.authenticate()
    assert expected_exc == str(e.value)

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #6
0
def _heavy_lifting(response, log_file, session, expected_exc, capsys,
                   stdout_expected, stderr_expected, log_expected):
    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    with pytest.raises(session.RegistrarException) as e:
        session.get_current_ip()
    assert expected_exc == str(e.value)

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
def _heavy_lifting(response, log_file, session, capsys, stdout_expected, stderr_expected, log_expected, delete):
    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    if delete:
        session.delete_record(delete)
    else:
        session.create_record()

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #8
0
def _heavy_lifting(response, log_file, session, capsys, stdout_expected,
                   stderr_expected, log_expected, delete):
    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    if delete:
        session.delete_record(delete)
    else:
        session.create_record()

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #9
0
def test_get_current_ip_success(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"service":"Name.com API Test Server","server_date":"2013-12-28 04:46:38","version":"2.0","language":"en","client_ip":"127.0.0.1"}'
    json = "{u'client_ip': u'127.0.0.1', u'service': u'Name.com API Test Server', u'language': u'en', u'version': u'2.0', u'result': {u'message': u'Command Successful', u'code': 100}, u'server_date': u'2013-12-28 04:46:38'}"
    expected_ip = "127.0.0.1"
    stdout_expected = textwrap.dedent("""\
        Method get_current_ip start.
        Opening connection to {url}
        Response: {response}
        JSON: {json}
        Method get_current_ip end.
        """.format(url="http://127.0.0.1/hello", response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.get_current_ip  Method get_current_ip start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.get_current_ip  Response: {response}
        {ts} DEBUG    registrar_base.get_current_ip  JSON: {json}
        {ts} DEBUG    registrar_base.get_current_ip  Method get_current_ip end.
        """.format(url="http://127.0.0.1/hello",
                   response=response,
                   json=json,
                   ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.get_current_ip()
    assert expected_ip == session.current_ip

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #10
0
def test_validate_domain_success_main(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"domains":{"example.com":{"tld":"com"},"example.info":{"tld":"info"}}}'
    json = "{u'domains': {u'example.info': {u'tld': u'info'}, u'example.com': {u'tld': u'com'}}, u'result': {u'message': u'Command Successful', u'code': 100}}"
    url = "http://127.0.0.1/domain/list"
    expected_result = "example.info"
    session.config['domain'] = "example.info"
    stdout_expected = textwrap.dedent("""\
        Method validate_domain start.
        Opening connection to {url}
        Response: {response}
        JSON: {json}
        Method validate_domain end.
        """.format(url=url, response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.validate_domain Method validate_domain start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.validate_domain Response: {response}
        {ts} DEBUG    registrar_base.validate_domain JSON: {json}
        {ts} DEBUG    registrar_base.validate_domain Method validate_domain end.
        """.format(url=url, response=response, json=json, ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.validate_domain()
    assert expected_result == session._main_domain

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
def test_get_current_ip_success(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"service":"Name.com API Test Server","server_date":"2013-12-28 04:46:38","version":"2.0","language":"en","client_ip":"127.0.0.1"}'
    json = "{u'client_ip': u'127.0.0.1', u'service': u'Name.com API Test Server', u'language': u'en', u'version': u'2.0', u'result': {u'message': u'Command Successful', u'code': 100}, u'server_date': u'2013-12-28 04:46:38'}"
    expected_ip = "127.0.0.1"
    stdout_expected = textwrap.dedent("""\
        Method get_current_ip start.
        Opening connection to {url}
        Response: {response}
        JSON: {json}
        Method get_current_ip end.
        """.format(url="http://127.0.0.1/hello", response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.get_current_ip  Method get_current_ip start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.get_current_ip  Response: {response}
        {ts} DEBUG    registrar_base.get_current_ip  JSON: {json}
        {ts} DEBUG    registrar_base.get_current_ip  Method get_current_ip end.
        """.format(url="http://127.0.0.1/hello", response=response, json=json, ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    session.get_current_ip()
    assert expected_ip == session.current_ip

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual
예제 #12
0
def test_validate_domain_candidates_none(session, log_file, capsys):
    response = '{"result":{"code":100,"message":"Command Successful"},"bar":["baz", null, 1.0, 2]}'
    json = "{u'bar': [u'baz', None, 1.0, 2], u'result': {u'message': u'Command Successful', u'code': 100}}"
    url = "http://127.0.0.1/domain/list"
    expected_exc = "Domain not registered to this registrar's account."
    stdout_expected = textwrap.dedent("""\
        Method validate_domain start.
        Opening connection to {url}
        Response: {response}
        JSON: {json}
        """.format(url=url, response=response, json=json))
    stderr_expected = ''
    timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
    log_expected = textwrap.dedent("""\
        {ts} DEBUG    registrar_base.validate_domain Method validate_domain start.
        {ts} DEBUG    registrar_base._request_json   Opening connection to {url}
        {ts} DEBUG    registrar_base.validate_domain Response: {response}
        {ts} DEBUG    registrar_base.validate_domain JSON: {json}
        """.format(url=url, response=response, json=json, ts=timestamp))

    initialize_simulation(response)
    with open(log_file.name, 'r') as f:
        f.seek(0, 2)
        log_before_pos = f.tell()
    with pytest.raises(session.RegistrarException) as e:
        session.validate_domain()
    assert expected_exc == str(e.value)

    stdout_actual, stderr_actual = capsys.readouterr()
    assert stdout_expected == stdout_actual
    assert stderr_expected == stderr_actual

    with open(log_file.name, 'r') as f:
        f.seek(log_before_pos)
        log_actual = f.read(10240)
    assert log_expected == log_actual