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
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
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
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
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
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_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