blob: 96f0eac246f15d6cfbe96c82cd5014b310f832ea [file] [log] [blame]
// 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.
#ifndef REMOTING_SIGNALING_SERVER_LOG_ENTRY_UNITTEST_H_
#define REMOTING_SIGNALING_SERVER_LOG_ENTRY_UNITTEST_H_
#include <map>
#include <set>
#include <string>
namespace jingle_xmpp {
class XmlElement;
} // namespace jingle_xmpp
namespace remoting {
extern const char kJabberClientNamespace[];
extern const char kChromotingNamespace[];
// Verifies that |stanza| contains a <log> element and returns it. Otherwise
// returns nullptr and records a test failure.
jingle_xmpp::XmlElement* GetLogElementFromStanza(jingle_xmpp::XmlElement* stanza);
// Verifies that |stanza| contains only 1 log entry, and returns the <entry>
// element. Otherwise returns nullptr and records a test failure.
jingle_xmpp::XmlElement* GetSingleLogEntryFromStanza(jingle_xmpp::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 jingle_xmpp::XmlElement* elem,
std::string* error);
} // namespace remoting
#endif // REMOTING_SIGNALING_SERVER_LOG_ENTRY_UNITTEST_H_