aboutsummaryrefslogtreecommitdiffstats
path: root/vespalib/src/vespa/vespalib/test/peer_policy_utils.cpp
blob: ecb9f6a3cd9e252466de57dd4a25918dfe404734 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#include "peer_policy_utils.h"

namespace vespalib::net::tls {

RequiredPeerCredential required_cn(vespalib::stringref pattern) {
    return {RequiredPeerCredential::Field::CN, pattern};
}

RequiredPeerCredential required_san_dns(vespalib::stringref pattern) {
    return {RequiredPeerCredential::Field::SAN_DNS, pattern};
}

RequiredPeerCredential required_san_uri(vespalib::stringref pattern) {
    return {RequiredPeerCredential::Field::SAN_URI, pattern};
}

PeerPolicy policy_with(std::vector<RequiredPeerCredential> creds) {
    return PeerPolicy(std::move(creds));
}

PeerPolicy policy_with(std::vector<RequiredPeerCredential> creds, CapabilitySet capabilities) {
    return {std::move(creds), std::move(capabilities)};
}

AuthorizedPeers authorized_peers(std::vector<PeerPolicy> peer_policies) {
    return AuthorizedPeers(std::move(peer_policies));
}

Capability cap_1() {
    return Capability::content_search_api();
}
Capability cap_2() {
    return Capability::content_storage_api();
}
Capability cap_3() {
    return Capability::content_document_api();
}
Capability cap_4() {
    return Capability::slobrok_api();
}

}