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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include <glog/logging.h>
#include <gtest/gtest.h>
#include <string>
#include "merkletree/verifiable_map.h"
#include "util/status_test_util.h"
#include "util/testing.h"
#include "util/util.h"
namespace cert_trans {
namespace {
using std::array;
using std::string;
using std::unique_ptr;
using util::StatusOr;
using util::testing::StatusIs;
using util::ToBase64;
class VerifiableMapTest : public testing::Test {
public:
VerifiableMapTest() : map_(new Sha256Hasher()) {
}
protected:
VerifiableMap map_;
};
TEST_F(VerifiableMapTest, TestGetNotFound) {
const string kKey("unknown_key");
const StatusOr<string> retrieved(map_.Get(kKey));
EXPECT_THAT(retrieved.status(), StatusIs(util::error::NOT_FOUND));
}
TEST_F(VerifiableMapTest, TestSetGet) {
const string kKey("key");
const string kValue("value");
map_.Set(kKey, kValue);
const StatusOr<string> retrieved(map_.Get(kKey));
EXPECT_OK(retrieved);
EXPECT_EQ(kValue, retrieved.ValueOrDie());
}
// TODO(alcutter): Lots and lots more tests.
} // namespace
} // namespace cert_trans
int main(int argc, char** argv) {
cert_trans::test::InitTesting(argv[0], &argc, &argv, true);
return RUN_ALL_TESTS();
}
|