xref: /aosp_15_r20/external/openscreen/discovery/mdns/testing/mdns_test_util.h (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
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