| // 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 |