#include <vector>
#include "ash/constants/ash_switches.h"
#include "base/run_loop.h"
#include "base/test/gtest_tags.h"
#include "base/test/test_switches.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/test/base/chromeos/crosier/chromeos_integration_test_mixin.h"
#include "chrome/test/base/chromeos/crosier/crosier_util.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "content/public/test/browser_test.h"
#include "net/dns/mock_host_resolver.h"
#include "url/gurl.h"
class DemoIntegrationTest : public MixinBasedInProcessBrowserTest {
public:
void SetUpInProcessBrowserTestFixture() override {
host_resolver()->AllowDirectLookup("*.google.com");
host_resolver()->AllowDirectLookup("*.geotrust.com");
host_resolver()->AllowDirectLookup("*.gstatic.com");
host_resolver()->AllowDirectLookup("*.googleapis.com");
host_resolver()->AllowDirectLookup("accounts.google.*");
host_resolver()->AllowDirectLookup("*.chromium.org");
InProcessBrowserTest::SetUpInProcessBrowserTestFixture();
}
void TearDownOnMainThread() override {
auto* browser_list = BrowserList::GetInstance();
std::vector<Browser*> browsers(browser_list->begin(), browser_list->end());
for (Browser* browser : browsers) {
CloseBrowserSynchronously(browser);
}
InProcessBrowserTest::TearDownOnMainThread();
}
protected:
ChromeOSIntegrationTestMixin chromeos_integration_test_mixin_{&mixin_host_};
};
IN_PROC_BROWSER_TEST_F(DemoIntegrationTest, NewTab) {
chrome_test_base_chromeos_crosier::TestInfo info;
info.set_description(R"(
This test verifies Chrome can launch and open version page.
Manually:
1 Launch Chrome
2 Go to chrome://version
3 Make sure the page can open successfully.)");
info.add_contacts("svenzheng@chromium.org");
info.add_contacts("jamescook@chromium.org");
info.set_team_email("crosier-team@google.com");
info.set_buganizer("1394295");
crosier_util::AddTestInfo(info);
base::AddFeatureIdTagToTestResult(
"screenplay-351d628b-e4a4-41c6-91e4-a4036ad12360");
GURL version_url{"chrome://version"};
ASSERT_TRUE(AddTabAtIndex(0, version_url, ui::PAGE_TRANSITION_TYPED));
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kTestLauncherInteractive)) {
base::RunLoop loop;
loop.Run();
}
}