| // 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/common/test_with_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 TestWithLoop { | |
| public: | |
| E2eTest() { | |
| session_ = std::make_unique<Session>(); | |
| mock_console_ = std::make_unique<MockConsole>(session_.get()); | |
| mock_console_->ProcessInputLine(e2e_init_command); | |
| } | |
| ~E2eTest() { session_.reset(nullptr); } | |
| MockConsole& console() { return *mock_console_; } | |
| Session& session() { return *session_; } | |
| private: | |
| 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 |