def test_create_txt_record_append(self, mock_current_app): domain = "_acme_challenge.test.example.com" zone = "test.example.com" token = "ABCDEFGHIJ" account_number = "1234567890" change_id = (domain, token) powerdns._check_conf = Mock() cur_token = "123456" cur_records = [ powerdns.Record({ 'name': domain, 'content': f"\"{cur_token}\"", 'disabled': False }) ] powerdns._get_txt_records = Mock(return_value=cur_records) powerdns._get_zone_name = Mock(return_value=zone) mock_current_app.logger.debug = Mock() mock_current_app.config.get = Mock(return_value="localhost") powerdns._patch = Mock() log_data = { "function": "create_txt_record", "fqdn": domain, "token": token, "message": "TXT record(s) successfully created" } expected_path = f"/api/v1/servers/localhost/zones/test.example.com." expected_payload = { "rrsets": [{ "name": domain + ".", "type": "TXT", "ttl": 300, "changetype": "REPLACE", "records": [{ "content": f"\"{token}\"", "disabled": False }, { "content": f"\"{cur_token}\"", "disabled": False }], "comments": [] }] } result = powerdns.create_txt_record(domain, token, account_number) mock_current_app.logger.debug.assert_called_with(log_data) powerdns._patch.assert_called_with(expected_path, expected_payload) self.assertEqual(result, change_id)
def test_create_txt_record(self, mock_current_app): domain = "_acme_challenge.test.example.com" zone = "test.example.com" token = "ABCDEFGHIJ" account_number = "1234567890" change_id = (domain, token) powerdns._check_conf = Mock() powerdns._get_zone_name = Mock(return_value=zone) mock_current_app.logger.debug = Mock() mock_current_app.config.get = Mock(return_value="localhost") powerdns._patch = Mock() log_data = { "function": "create_txt_record", "fqdn": domain, "token": token, "message": "TXT record successfully created" } result = powerdns.create_txt_record(domain, token, account_number) mock_current_app.logger.debug.assert_called_with(log_data) self.assertEqual(result, change_id)