1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef DISCOVERY_MDNS_TESTING_MDNS_TEST_UTIL_H_ 6 #define DISCOVERY_MDNS_TESTING_MDNS_TEST_UTIL_H_ 7 8 #include <initializer_list> 9 10 #include "absl/strings/string_view.h" 11 #include "discovery/mdns/mdns_records.h" 12 13 namespace openscreen { 14 namespace discovery { 15 16 const IPAddress kFakeARecordAddress = IPAddress(192, 168, 0, 0); 17 const IPAddress kFakeAAAARecordAddress = IPAddress(1, 2, 3, 4, 5, 6, 7, 8); 18 constexpr uint16_t kFakeSrvRecordPort = 80; 19 20 TxtRecordRdata MakeTxtRecord(std::initializer_list<absl::string_view> strings); 21 22 // Methods to create fake MdnsRecord entities for use in UnitTests. 23 MdnsRecord GetFakePtrRecord(const DomainName& target, 24 std::chrono::seconds ttl = std::chrono::seconds(1)); 25 MdnsRecord GetFakeSrvRecord(const DomainName& name, 26 std::chrono::seconds ttl = std::chrono::seconds(1)); 27 MdnsRecord GetFakeSrvRecord(const DomainName& name, 28 const DomainName& target, 29 std::chrono::seconds ttl = std::chrono::seconds(1)); 30 MdnsRecord GetFakeTxtRecord(const DomainName& name, 31 std::chrono::seconds ttl = std::chrono::seconds(1)); 32 MdnsRecord GetFakeARecord(const DomainName& name, 33 std::chrono::seconds ttl = std::chrono::seconds(1)); 34 MdnsRecord GetFakeAAAARecord( 35 const DomainName& name, 36 std::chrono::seconds ttl = std::chrono::seconds(1)); 37 38 } // namespace discovery 39 } // namespace openscreen 40 41 #endif // DISCOVERY_MDNS_TESTING_MDNS_TEST_UTIL_H_ 42