summaryrefslogtreecommitdiff
path: root/remoting/signaling/server_log_entry_unittest.h
blob: 5d5c58916ddd6396c878eecefd77883d30568259 (plain)
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
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <map>
#include <set>
#include <string>

namespace buzz {
class XmlElement;
}  // namespace buzz

namespace remoting {

extern const char kJabberClientNamespace[];
extern const char kChromotingNamespace[];

// Verifies that |stanza| contains a <log> element and returns it. Otherwise
// returns NULL and records a test failure.
buzz::XmlElement* GetLogElementFromStanza(buzz::XmlElement* stanza);

// Verifies that |stanza| contains only 1 log entry, and returns the <entry>
// element. Otherwise returns NULL and records a test failure.
buzz::XmlElement* GetSingleLogEntryFromStanza(buzz::XmlElement* stanza);

// Verifies a logging stanza.
// |keyValuePairs| lists the keys that must have specified values, and |keys|
// lists the keys that must be present, but may have arbitrary values.
// There must be no other keys.
bool VerifyStanza(
    const std::map<std::string, std::string>& key_value_pairs,
    const std::set<std::string> keys,
    const buzz::XmlElement* elem,
    std::string* error);

}  // namespace remoting