def test_convert_secondaries_to_dict(): z = ns1_zone.NS1Zone() secondaries = [ { "ip": "1.1.1.1", "port": 1, "networks": [0], "notify": True }, { "ip": "2.2.2.2", "port": 2, "networks": [0], "notify": True }, ] exp = { ("1.1.1.1", 1): { "ip": "1.1.1.1", "port": 1, "networks": [0], "notify": True, }, ("2.2.2.2", 2): { "ip": "2.2.2.2", "port": 2, "networks": [0], "notify": True, }, } assert z.convert_secondaries_to_dict(secondaries) == exp
def test_diff_params(have, want, exp): FakeAnsibleModule.set_module_args({ "apiKey": "testkey", "name": "test.zone" }) z = ns1_zone.NS1Zone() assert z.diff_params(have, want) == exp
def test_build_result(zone_data, changed, check_mode, exp_result, ns1_config): m = FakeAnsibleModule("test.zone") mock_zone = None if zone_data: mock_zone = ns1.zones.Zone(ns1_config, m.name) mock_zone.data = m.get_zone_data(**zone_data) z = ns1_zone.NS1Zone() z.module.check_mode = check_mode result = z.build_result(changed, mock_zone) assert result == exp_result
def test_create(mock_zone_create, ns1_config): args = {"nx_ttl": 1} m = FakeAnsibleModule("test.zone") m.set_module_args(m.get_args(**args)) z = ns1_zone.NS1Zone() z.create(args) mock_zone_create.assert_called_once_with("test.zone", **m.get_request_args(**args))
def test_delete(mock_zone_delete, ns1_config): m = FakeAnsibleModule("test.zone") mock_zone = ns1.zones.Zone(ns1_config, m.name) mock_zone.data = m.get_zone_data() z = ns1_zone.NS1Zone() z.delete(mock_zone) mock_zone_delete.assert_called_once_with(**m.get_request_args())
def test_update(mock_zone_update, ns1_config, zone_data, args): m = FakeAnsibleModule("test.zone") mock_zone = ns1.zones.Zone(ns1_config, m.name) mock_zone.data = m.get_zone_data(**zone_data) z = ns1_zone.NS1Zone() zone = z.update(mock_zone, args) mock_zone_update.assert_called_once_with(**m.get_request_args(**args)) assert zone != mock_zone
def test_present(mock_create, mock_update_on_change, mock_zone, exp_changed): mock_update_on_change.return_value = (exp_changed, mock_zone) z = ns1_zone.NS1Zone() changed, zone = z.present(mock_zone) assert changed == exp_changed assert zone is not None if mock_zone: mock_create.assert_not_called() mock_update_on_change.assert_called_once() else: mock_update_on_change.assert_not_called() mock_create.assert_called_once()
def test_update_on_change(mock_update, mock_get_changed_params, diff, exp_changed): mock_zone = Mock() mock_want = Mock() mock_get_changed_params.return_value = diff mock_update.return_value = diff z = ns1_zone.NS1Zone() changed, zone = z.update_on_change(mock_zone, mock_want) assert changed == exp_changed if exp_changed: assert zone != mock_zone else: assert zone == mock_zone
def test_get_zone(mock_zone_load, ns1_config): zone_name = "test.zone" m = FakeAnsibleModule(zone_name) mock_zone = ns1.zones.Zone(ns1_config, m.name) mock_zone.data = m.get_zone_data() mock_zone_load.return_value(mock_zone) z = ns1_zone.NS1Zone() zone = z.get_zone(zone_name) mock_zone_load.assert_called_once() zone.data["zone"] = zone_name
def test_check_mode(mock_zone_update, ns1_config, check_mode): m = FakeAnsibleModule("test.zone") mock_zone = ns1.zones.Zone(ns1_config, m.name) mock_zone.data = m.get_zone_data(nx_ttl=0) z = ns1_zone.NS1Zone() args = {"nx_ttl": 1} z.module.check_mode = check_mode zone = z.update(mock_zone, args) if check_mode: mock_zone_update.assert_not_called() assert zone is None else: mock_zone_update.assert_called_once_with(**m.get_request_args(**args)) assert zone != mock_zone
def test_get_changed_params(mock_diff_in_secondaries, mock_diff_params): z = ns1_zone.NS1Zone() # verify we perform compare on secondaries when diff contains secondaries # and secondaries is stripped if no diff mock_diff_params.return_value = { "primary": { "secondaries": [{ "ip": "1.1.1.1" }] } } have = {"primary": {"secondaries": [{"ip": "1.1.1.1"}]}} want = {"primary": {"secondaries": [{"ip": "1.1.1.1"}]}} mock_diff_in_secondaries.return_value = False diff = z.get_changed_params(have, want) mock_diff_in_secondaries.assert_called_once() assert diff == {}
def test_absent(mock_delete, mock_zone, exp_changed): z = ns1_zone.NS1Zone() changed = z.absent(mock_zone) assert changed == exp_changed
def test_sanitize_params(module_args, exp_params): z = ns1_zone.NS1Zone() params = z.sanitize_params(module_args) assert params == exp_params
def test_diff_in_secondaries(have, want, exp): z = ns1_zone.NS1Zone() assert z.diff_in_secondaries(have, want) == exp