blob: c09b5de981fd8fb1d6fe3922cd19a2432795e8df [file] [log] [blame]
// Copyright 2019 The Fuchsia 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 "gtest/gtest.h"
#include "src/developer/debug/shared/platform_message_loop.h"
#include "src/developer/debug/zxdb/console/mock_console.h"
#include "src/developer/debug/zxdb/main_e2e_test.h"
namespace zxdb {
class E2eTest : public testing::Test {
public:
E2eTest() {
loop_.Init();
session_ = std::make_unique<Session>();
mock_console_ = std::make_unique<MockConsole>(session_.get());
mock_console_->ProcessInputLine(e2e_init_command);
}
~E2eTest() {
session_.reset(nullptr);
loop_.Cleanup();
}
MockConsole& console() { return *mock_console_; }
Session& session() { return *session_; }
private:
debug_ipc::PlatformMessageLoop loop_;
std::unique_ptr<Session> session_;
std::unique_ptr<MockConsole> mock_console_;
};
TEST_F(E2eTest, CanConnect) {
ASSERT_EQ("Connecting (use \"disconnect\" to cancel)...\n",
console().GetOutputEvent().output.AsString());
console().GetOutputEvent();
EXPECT_TRUE(session().IsConnected());
}
} // namespace zxdb