Commit 52b2f161 authored by Vasilii Sukhanov's avatar Vasilii Sukhanov Committed by Commit Bot

Revert "Reuse upload browsertests for corresponding Enterprise Connectors"

This reverts commit 8a905049.

Reason for revert: consistent failure on CrOS
https://ci.chromium.org/p/chromium/builders/ci/linux-chromeos-rel/38104?blamelist=1#blamelist-tab

Original change's description:
> Reuse upload browsertests for corresponding Enterprise Connectors
> 
> This reuses tests by having the policy setters of
> DeepScanningBrowserTestBase set either legacy or Connector policies, and
> then making every upload browsertest parametrized with a bool so both
> policy sets get tested.
> 
> The DeepScanningDialogViews test also change a bit, the ScanType test
> parameter is removed since this dialog doesn't depend on the type of
> scanning being done. This avoids having a very large number of
> combinations for that test that don't cover different code paths.
> 
> Bug: 1076083
> Change-Id: I419b21de0095add8b5b214993be010d022941202
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2210782
> Reviewed-by: Roger Tawa <rogerta@chromium.org>
> Commit-Queue: Dominique Fauteux-Chapleau <domfc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#770745}

TBR=rogerta@chromium.org,domfc@chromium.org

Change-Id: Ifbd58dd8403a58b48b2d4911387b2ecbbd5bf70a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1076083
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2209222Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#770969}
parent ec425ee1
...@@ -27,7 +27,7 @@ AnalysisServiceSettings::AnalysisServiceSettings( ...@@ -27,7 +27,7 @@ AnalysisServiceSettings::AnalysisServiceSettings(
matcher_ = std::make_unique<url_matcher::URLMatcher>(); matcher_ = std::make_unique<url_matcher::URLMatcher>();
url_matcher::URLMatcherConditionSet::ID id(0); url_matcher::URLMatcherConditionSet::ID id(0);
const base::Value* enable = settings_value.FindListKey(kKeyEnable); const base::Value* enable = settings_value.FindListKey(kKeyEnable);
if (enable && enable->is_list() && !enable->GetList().empty()) { if (enable && enable->is_list()) {
for (const base::Value& value : enable->GetList()) for (const base::Value& value : enable->GetList())
AddUrlPatternSettings(value, true, &id); AddUrlPatternSettings(value, true, &id);
} else { } else {
......
...@@ -5,16 +5,13 @@ ...@@ -5,16 +5,13 @@
#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h" #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_browsertest_base.h"
#include "base/bind_helpers.h" #include "base/bind_helpers.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/connectors/connectors_manager.h"
#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_dialog_views.h" #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_dialog_views.h"
#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_test_utils.h"
#include "chrome/browser/safe_browsing/cloud_content_scanning/fake_deep_scanning_dialog_delegate.h" #include "chrome/browser/safe_browsing/cloud_content_scanning/fake_deep_scanning_dialog_delegate.h"
#include "chrome/browser/safe_browsing/dm_token_utils.h" #include "chrome/browser/safe_browsing/dm_token_utils.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h" #include "components/prefs/scoped_user_pref_update.h"
#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
#include "components/safe_browsing/core/features.h" #include "components/safe_browsing/core/features.h"
namespace safe_browsing { namespace safe_browsing {
...@@ -66,17 +63,10 @@ class UnresponsiveDeepScanningDialogDelegate ...@@ -66,17 +63,10 @@ class UnresponsiveDeepScanningDialogDelegate
} // namespace } // namespace
DeepScanningBrowserTestBase::DeepScanningBrowserTestBase( DeepScanningBrowserTestBase::DeepScanningBrowserTestBase() {
bool use_legacy_policies)
: use_legacy_policies_(use_legacy_policies) {
// Enable every deep scanning features. // Enable every deep scanning features.
if (use_legacy_policies_) { scoped_feature_list_.InitWithFeatures(
scoped_feature_list_.InitWithFeatures( {kContentComplianceEnabled, kMalwareScanEnabled}, {});
{kContentComplianceEnabled, kMalwareScanEnabled}, {});
} else {
scoped_feature_list_.InitWithFeatures(
{enterprise_connectors::kEnterpriseConnectorsEnabled}, {});
}
// Change the time values of the upload UI to smaller ones to make tests // Change the time values of the upload UI to smaller ones to make tests
// showing it run faster. // showing it run faster.
...@@ -88,12 +78,7 @@ DeepScanningBrowserTestBase::DeepScanningBrowserTestBase( ...@@ -88,12 +78,7 @@ DeepScanningBrowserTestBase::DeepScanningBrowserTestBase(
DeepScanningBrowserTestBase::~DeepScanningBrowserTestBase() = default; DeepScanningBrowserTestBase::~DeepScanningBrowserTestBase() = default;
void DeepScanningBrowserTestBase::SetUpOnMainThread() {
enterprise_connectors::ConnectorsManager::GetInstance()->SetUpForTesting();
}
void DeepScanningBrowserTestBase::TearDownOnMainThread() { void DeepScanningBrowserTestBase::TearDownOnMainThread() {
enterprise_connectors::ConnectorsManager::GetInstance()->TearDownForTesting();
DeepScanningDialogDelegate::ResetFactoryForTesting(); DeepScanningDialogDelegate::ResetFactoryForTesting();
SetDlpPolicy(CheckContentComplianceValues::CHECK_NONE); SetDlpPolicy(CheckContentComplianceValues::CHECK_NONE);
...@@ -105,68 +90,42 @@ void DeepScanningBrowserTestBase::TearDownOnMainThread() { ...@@ -105,68 +90,42 @@ void DeepScanningBrowserTestBase::TearDownOnMainThread() {
BlockUnsupportedFiletypesValues::BLOCK_UNSUPPORTED_FILETYPES_NONE); BlockUnsupportedFiletypesValues::BLOCK_UNSUPPORTED_FILETYPES_NONE);
SetBlockLargeFileTransferPolicy(BlockLargeFileTransferValues::BLOCK_NONE); SetBlockLargeFileTransferPolicy(BlockLargeFileTransferValues::BLOCK_NONE);
SetUnsafeEventsReportingPolicy(false); SetUnsafeEventsReportingPolicy(false);
ClearUrlsToCheckComplianceOfDownloads();
ClearUrlsToCheckForMalwareOfUploads();
} }
void DeepScanningBrowserTestBase::SetDlpPolicy( void DeepScanningBrowserTestBase::SetDlpPolicy(
CheckContentComplianceValues state) { CheckContentComplianceValues state) {
if (use_legacy_policies_) { g_browser_process->local_state()->SetInteger(prefs::kCheckContentCompliance,
g_browser_process->local_state()->SetInteger(prefs::kCheckContentCompliance, state);
state);
} else {
SetDlpPolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetMalwarePolicy( void DeepScanningBrowserTestBase::SetMalwarePolicy(
SendFilesForMalwareCheckValues state) { SendFilesForMalwareCheckValues state) {
if (use_legacy_policies_) { browser()->profile()->GetPrefs()->SetInteger(
browser()->profile()->GetPrefs()->SetInteger( prefs::kSafeBrowsingSendFilesForMalwareCheck, state);
prefs::kSafeBrowsingSendFilesForMalwareCheck, state);
} else {
SetMalwarePolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetWaitPolicy( void DeepScanningBrowserTestBase::SetWaitPolicy(
DelayDeliveryUntilVerdictValues state) { DelayDeliveryUntilVerdictValues state) {
if (use_legacy_policies_) { g_browser_process->local_state()->SetInteger(
g_browser_process->local_state()->SetInteger( prefs::kDelayDeliveryUntilVerdict, state);
prefs::kDelayDeliveryUntilVerdict, state);
} else {
SetDelayDeliveryUntilVerdictPolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetAllowPasswordProtectedFilesPolicy( void DeepScanningBrowserTestBase::SetAllowPasswordProtectedFilesPolicy(
AllowPasswordProtectedFilesValues state) { AllowPasswordProtectedFilesValues state) {
if (use_legacy_policies_) { g_browser_process->local_state()->SetInteger(
g_browser_process->local_state()->SetInteger( prefs::kAllowPasswordProtectedFiles, state);
prefs::kAllowPasswordProtectedFiles, state);
} else {
SetAllowPasswordProtectedFilesPolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetBlockUnsupportedFileTypesPolicy( void DeepScanningBrowserTestBase::SetBlockUnsupportedFileTypesPolicy(
BlockUnsupportedFiletypesValues state) { BlockUnsupportedFiletypesValues state) {
if (use_legacy_policies_) { g_browser_process->local_state()->SetInteger(
g_browser_process->local_state()->SetInteger( prefs::kBlockUnsupportedFiletypes, state);
prefs::kBlockUnsupportedFiletypes, state);
} else {
SetBlockUnsupportedFileTypesPolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetBlockLargeFileTransferPolicy( void DeepScanningBrowserTestBase::SetBlockLargeFileTransferPolicy(
BlockLargeFileTransferValues state) { BlockLargeFileTransferValues state) {
if (use_legacy_policies_) { g_browser_process->local_state()->SetInteger(prefs::kBlockLargeFileTransfer,
g_browser_process->local_state()->SetInteger(prefs::kBlockLargeFileTransfer, state);
state);
} else {
SetBlockLargeFileTransferPolicyForConnectors(state);
}
} }
void DeepScanningBrowserTestBase::SetUnsafeEventsReportingPolicy(bool report) { void DeepScanningBrowserTestBase::SetUnsafeEventsReportingPolicy(bool report) {
...@@ -176,44 +135,9 @@ void DeepScanningBrowserTestBase::SetUnsafeEventsReportingPolicy(bool report) { ...@@ -176,44 +135,9 @@ void DeepScanningBrowserTestBase::SetUnsafeEventsReportingPolicy(bool report) {
void DeepScanningBrowserTestBase::AddUrlToCheckComplianceOfDownloads( void DeepScanningBrowserTestBase::AddUrlToCheckComplianceOfDownloads(
const std::string& url) { const std::string& url) {
if (use_legacy_policies_) { ListPrefUpdate(g_browser_process->local_state(),
ListPrefUpdate(g_browser_process->local_state(), prefs::kURLsToCheckComplianceOfDownloadedContent)
prefs::kURLsToCheckComplianceOfDownloadedContent) ->Append(url);
->Append(url);
} else {
AddUrlsToCheckComplianceOfDownloadsForConnectors({url});
}
}
void DeepScanningBrowserTestBase::AddUrlToCheckForMalwareOfUploads(
const std::string& url) {
if (use_legacy_policies_) {
ListPrefUpdate(g_browser_process->local_state(),
prefs::kURLsToCheckForMalwareOfUploadedContent)
->Append(url);
} else {
AddUrlsToCheckForMalwareOfUploadsForConnectors({url});
}
}
void DeepScanningBrowserTestBase::ClearUrlsToCheckComplianceOfDownloads() {
if (use_legacy_policies_) {
ListPrefUpdate(g_browser_process->local_state(),
prefs::kURLsToCheckComplianceOfDownloadedContent)
->Clear();
} else {
ClearUrlsToCheckComplianceOfDownloadsForConnectors();
}
}
void DeepScanningBrowserTestBase::ClearUrlsToCheckForMalwareOfUploads() {
if (use_legacy_policies_) {
ListPrefUpdate(g_browser_process->local_state(),
prefs::kURLsToCheckForMalwareOfUploadedContent)
->Clear();
} else {
ClearUrlsToCheckForMalwareOfUploadsForConnectors();
}
} }
void DeepScanningBrowserTestBase::SetUpDelegate() { void DeepScanningBrowserTestBase::SetUpDelegate() {
......
...@@ -15,10 +15,9 @@ namespace safe_browsing { ...@@ -15,10 +15,9 @@ namespace safe_browsing {
// used by browser tests should be added to this class. // used by browser tests should be added to this class.
class DeepScanningBrowserTestBase : public InProcessBrowserTest { class DeepScanningBrowserTestBase : public InProcessBrowserTest {
public: public:
explicit DeepScanningBrowserTestBase(bool use_legacy_policies = true); DeepScanningBrowserTestBase();
~DeepScanningBrowserTestBase() override; ~DeepScanningBrowserTestBase() override;
void SetUpOnMainThread() override;
void TearDownOnMainThread() override; void TearDownOnMainThread() override;
// Setters for deep scanning policies. // Setters for deep scanning policies.
...@@ -32,9 +31,6 @@ class DeepScanningBrowserTestBase : public InProcessBrowserTest { ...@@ -32,9 +31,6 @@ class DeepScanningBrowserTestBase : public InProcessBrowserTest {
void SetBlockLargeFileTransferPolicy(BlockLargeFileTransferValues state); void SetBlockLargeFileTransferPolicy(BlockLargeFileTransferValues state);
void SetUnsafeEventsReportingPolicy(bool report); void SetUnsafeEventsReportingPolicy(bool report);
void AddUrlToCheckComplianceOfDownloads(const std::string& url); void AddUrlToCheckComplianceOfDownloads(const std::string& url);
void AddUrlToCheckForMalwareOfUploads(const std::string& url);
void ClearUrlsToCheckComplianceOfDownloads();
void ClearUrlsToCheckForMalwareOfUploads();
// Sets up a FakeDeepScanningDialogDelegate to use this class's StatusCallback // Sets up a FakeDeepScanningDialogDelegate to use this class's StatusCallback
// and EncryptionStatusCallback. Also sets up a test DM token. // and EncryptionStatusCallback. Also sets up a test DM token.
...@@ -68,7 +64,6 @@ class DeepScanningBrowserTestBase : public InProcessBrowserTest { ...@@ -68,7 +64,6 @@ class DeepScanningBrowserTestBase : public InProcessBrowserTest {
DeepScanningClientResponse status_callback_response_; DeepScanningClientResponse status_callback_response_;
base::ScopedTempDir temp_dir_; base::ScopedTempDir temp_dir_;
std::vector<base::FilePath> created_file_paths_; std::vector<base::FilePath> created_file_paths_;
bool use_legacy_policies_;
}; };
} // namespace safe_browsing } // namespace safe_browsing
......
...@@ -27,8 +27,10 @@ constexpr base::TimeDelta kNoDelay = base::TimeDelta::FromSeconds(0); ...@@ -27,8 +27,10 @@ constexpr base::TimeDelta kNoDelay = base::TimeDelta::FromSeconds(0);
constexpr base::TimeDelta kSmallDelay = base::TimeDelta::FromMilliseconds(300); constexpr base::TimeDelta kSmallDelay = base::TimeDelta::FromMilliseconds(300);
constexpr base::TimeDelta kNormalDelay = base::TimeDelta::FromMilliseconds(500); constexpr base::TimeDelta kNormalDelay = base::TimeDelta::FromMilliseconds(500);
enum class ScanType { ONLY_DLP, ONLY_MALWARE, DLP_AND_MALWARE };
// Tests the behavior of the dialog in the following ways: // Tests the behavior of the dialog in the following ways:
// - It shows the appropriate buttons depending on its state. // - It shows the appropriate buttons depending on it's state.
// - It transitions from states in the correct order. // - It transitions from states in the correct order.
// - It respects time constraints (minimum shown time, initial delay, timeout) // - It respects time constraints (minimum shown time, initial delay, timeout)
// - It is always destroyed, therefore |quit_closure_| is called in the dtor // - It is always destroyed, therefore |quit_closure_| is called in the dtor
...@@ -37,13 +39,14 @@ class DeepScanningDialogViewsBehaviorBrowserTest ...@@ -37,13 +39,14 @@ class DeepScanningDialogViewsBehaviorBrowserTest
: public DeepScanningBrowserTestBase, : public DeepScanningBrowserTestBase,
public DeepScanningDialogViews::TestObserver, public DeepScanningDialogViews::TestObserver,
public testing::WithParamInterface< public testing::WithParamInterface<
std::tuple<bool, bool, bool, base::TimeDelta>> { std::tuple<ScanType, bool, bool, base::TimeDelta>> {
public: public:
DeepScanningDialogViewsBehaviorBrowserTest() DeepScanningDialogViewsBehaviorBrowserTest() {
: DeepScanningBrowserTestBase(std::get<0>(GetParam())) {
DeepScanningDialogViews::SetObserverForTesting(this); DeepScanningDialogViews::SetObserverForTesting(this);
expected_scan_result_ = dlp_success() && malware_success(); bool dlp_result = !dlp_enabled() || dlp_success();
bool malware_result = !malware_enabled() || malware_success();
expected_scan_result_ = dlp_result && malware_result;
} }
void ConstructorCalled(DeepScanningDialogViews* views, void ConstructorCalled(DeepScanningDialogViews* views,
...@@ -155,6 +158,14 @@ class DeepScanningDialogViewsBehaviorBrowserTest ...@@ -155,6 +158,14 @@ class DeepScanningDialogViewsBehaviorBrowserTest
CallQuitClosure(); CallQuitClosure();
} }
bool dlp_enabled() const {
return std::get<0>(GetParam()) != ScanType::ONLY_MALWARE;
}
bool malware_enabled() const {
return std::get<0>(GetParam()) != ScanType::ONLY_DLP;
}
bool dlp_success() const { return std::get<1>(GetParam()); } bool dlp_success() const { return std::get<1>(GetParam()); }
bool malware_success() const { return std::get<2>(GetParam()); } bool malware_success() const { return std::get<2>(GetParam()); }
...@@ -183,11 +194,9 @@ class DeepScanningDialogViewsBehaviorBrowserTest ...@@ -183,11 +194,9 @@ class DeepScanningDialogViewsBehaviorBrowserTest
// - The "CancelledByUser" metrics are recorded. // - The "CancelledByUser" metrics are recorded.
class DeepScanningDialogViewsCancelPendingScanBrowserTest class DeepScanningDialogViewsCancelPendingScanBrowserTest
: public DeepScanningBrowserTestBase, : public DeepScanningBrowserTestBase,
public testing::WithParamInterface<bool>,
public DeepScanningDialogViews::TestObserver { public DeepScanningDialogViews::TestObserver {
public: public:
DeepScanningDialogViewsCancelPendingScanBrowserTest() DeepScanningDialogViewsCancelPendingScanBrowserTest() {
: DeepScanningBrowserTestBase(GetParam()) {
DeepScanningDialogViews::SetObserverForTesting(this); DeepScanningDialogViews::SetObserverForTesting(this);
} }
...@@ -229,11 +238,9 @@ class DeepScanningDialogViewsCancelPendingScanBrowserTest ...@@ -229,11 +238,9 @@ class DeepScanningDialogViewsCancelPendingScanBrowserTest
class DeepScanningDialogViewsWarningBrowserTest class DeepScanningDialogViewsWarningBrowserTest
: public DeepScanningBrowserTestBase, : public DeepScanningBrowserTestBase,
public DeepScanningDialogViews::TestObserver, public DeepScanningDialogViews::TestObserver,
public testing::WithParamInterface< public testing::WithParamInterface<std::tuple<base::TimeDelta, bool>> {
std::tuple<base::TimeDelta, bool, bool>> {
public: public:
DeepScanningDialogViewsWarningBrowserTest() DeepScanningDialogViewsWarningBrowserTest() {
: DeepScanningBrowserTestBase(std::get<2>(GetParam())) {
DeepScanningDialogViews::SetObserverForTesting(this); DeepScanningDialogViews::SetObserverForTesting(this);
} }
...@@ -297,10 +304,9 @@ class DeepScanningDialogViewsAppearanceBrowserTest ...@@ -297,10 +304,9 @@ class DeepScanningDialogViewsAppearanceBrowserTest
: public DeepScanningBrowserTestBase, : public DeepScanningBrowserTestBase,
public DeepScanningDialogViews::TestObserver, public DeepScanningDialogViews::TestObserver,
public testing::WithParamInterface< public testing::WithParamInterface<
std::tuple<bool, bool, DeepScanAccessPoint, bool>> { std::tuple<bool, bool, DeepScanAccessPoint>> {
public: public:
DeepScanningDialogViewsAppearanceBrowserTest() DeepScanningDialogViewsAppearanceBrowserTest() {
: DeepScanningBrowserTestBase(std::get<3>(GetParam())) {
DeepScanningDialogViews::SetObserverForTesting(this); DeepScanningDialogViews::SetObserverForTesting(this);
} }
...@@ -405,13 +411,28 @@ constexpr char kTestUrl[] = "https://google.com"; ...@@ -405,13 +411,28 @@ constexpr char kTestUrl[] = "https://google.com";
IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) { IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) {
base::ScopedAllowBlockingForTesting allow_blocking; base::ScopedAllowBlockingForTesting allow_blocking;
// The test is wrong if neither DLP or Malware is enabled. This would imply a
// Deep Scanning call site called ShowForWebContents without first checking
// IsEnabled returns true.
EXPECT_TRUE(dlp_enabled() || malware_enabled());
// Setup policies to enable deep scanning, its UI and the responses to be // Setup policies to enable deep scanning, its UI and the responses to be
// simulated. // simulated.
SetDlpPolicy(CHECK_UPLOADS_AND_DOWNLOADS); base::Optional<bool> dlp = base::nullopt;
SetMalwarePolicy(SEND_UPLOADS_AND_DOWNLOADS); base::Optional<bool> malware = base::nullopt;
AddUrlToCheckForMalwareOfUploads("*"); if (dlp_enabled()) {
SetStatusCallbackResponse(SimpleDeepScanningClientResponseForTesting( dlp = dlp_success();
dlp_success(), malware_success())); SetDlpPolicy(CHECK_UPLOADS_AND_DOWNLOADS);
}
if (malware_enabled()) {
malware = malware_success();
SetMalwarePolicy(SEND_UPLOADS_AND_DOWNLOADS);
ListPrefUpdate(g_browser_process->local_state(),
prefs::kURLsToCheckForMalwareOfUploadedContent)
->Append("*");
}
SetStatusCallbackResponse(
SimpleDeepScanningClientResponseForTesting(dlp, malware));
// Always set this policy so the UI is shown. // Always set this policy so the UI is shown.
SetWaitPolicy(DELAY_UPLOADS); SetWaitPolicy(DELAY_UPLOADS);
...@@ -425,8 +446,8 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) { ...@@ -425,8 +446,8 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) {
SetQuitClosure(run_loop.QuitClosure()); SetQuitClosure(run_loop.QuitClosure());
DeepScanningDialogDelegate::Data data; DeepScanningDialogDelegate::Data data;
data.do_dlp_scan = true; data.do_dlp_scan = dlp_enabled();
data.do_malware_scan = true; data.do_malware_scan = malware_enabled();
CreateFilesForTest({"foo.doc"}, {"content"}, &data); CreateFilesForTest({"foo.doc"}, {"content"}, &data);
ASSERT_TRUE(DeepScanningDialogDelegate::IsEnabled( ASSERT_TRUE(DeepScanningDialogDelegate::IsEnabled(
browser()->profile(), GURL(kTestUrl), &data, browser()->profile(), GURL(kTestUrl), &data,
...@@ -462,16 +483,18 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) { ...@@ -462,16 +483,18 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsBehaviorBrowserTest, Test) {
// more than its minimum duration (GetMinimumPendingDialogTime < // more than its minimum duration (GetMinimumPendingDialogTime <
// kNormalDelay). // kNormalDelay).
INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P(
, DeepScanningDialogViewsBehaviorBrowserTest,
DeepScanningDialogViewsBehaviorBrowserTest, DeepScanningDialogViewsBehaviorBrowserTest,
testing::Combine( testing::Combine(
/*use_legacy_policies*/ testing::Bool(), /*scan_type*/ testing::Values(ScanType::ONLY_DLP,
ScanType::ONLY_MALWARE,
ScanType::DLP_AND_MALWARE),
/*dlp_success*/ testing::Bool(), /*dlp_success*/ testing::Bool(),
/*malware_success*/ testing::Bool(), /*malware_success*/ testing::Bool(),
/*response_delay*/ /*response_delay*/
testing::Values(kNoDelay, kSmallDelay, kNormalDelay))); testing::Values(kNoDelay, kSmallDelay, kNormalDelay)));
IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsCancelPendingScanBrowserTest, IN_PROC_BROWSER_TEST_F(DeepScanningDialogViewsCancelPendingScanBrowserTest,
Test) { Test) {
base::ScopedAllowBlockingForTesting allow_blocking; base::ScopedAllowBlockingForTesting allow_blocking;
...@@ -519,10 +542,6 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsCancelPendingScanBrowserTest, ...@@ -519,10 +542,6 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsCancelPendingScanBrowserTest,
ValidateMetrics(); ValidateMetrics();
} }
INSTANTIATE_TEST_SUITE_P(,
DeepScanningDialogViewsCancelPendingScanBrowserTest,
/*use_legacy_policies=*/testing::Bool());
IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsWarningBrowserTest, Test) { IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsWarningBrowserTest, Test) {
base::ScopedAllowBlockingForTesting allow_blocking; base::ScopedAllowBlockingForTesting allow_blocking;
...@@ -577,12 +596,10 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsWarningBrowserTest, Test) { ...@@ -577,12 +596,10 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsWarningBrowserTest, Test) {
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }
INSTANTIATE_TEST_SUITE_P(, INSTANTIATE_TEST_SUITE_P(
DeepScanningDialogViewsWarningBrowserTest, DeepScanningDialogViewsWarningBrowserTest,
testing::Combine( DeepScanningDialogViewsWarningBrowserTest,
/*delay=*/testing::Values(kNoDelay, kSmallDelay), testing::Combine(testing::Values(kNoDelay, kSmallDelay), testing::Bool()));
/*user_bypasses_warning=*/testing::Bool(),
/*use_legacy_policies=*/testing::Bool()));
IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsAppearanceBrowserTest, Test) { IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsAppearanceBrowserTest, Test) {
base::ScopedAllowBlockingForTesting allow_blocking; base::ScopedAllowBlockingForTesting allow_blocking;
...@@ -634,7 +651,7 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsAppearanceBrowserTest, Test) { ...@@ -634,7 +651,7 @@ IN_PROC_BROWSER_TEST_P(DeepScanningDialogViewsAppearanceBrowserTest, Test) {
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }
INSTANTIATE_TEST_SUITE_P(, INSTANTIATE_TEST_SUITE_P(DeepScanningDialogViewsAppearanceBrowserTest,
DeepScanningDialogViewsAppearanceBrowserTest, DeepScanningDialogViewsAppearanceBrowserTest,
testing::Combine( testing::Combine(
/*file_scan=*/testing::Bool(), /*file_scan=*/testing::Bool(),
...@@ -642,7 +659,6 @@ INSTANTIATE_TEST_SUITE_P(, ...@@ -642,7 +659,6 @@ INSTANTIATE_TEST_SUITE_P(,
/*access_point=*/ /*access_point=*/
testing::Values(DeepScanAccessPoint::UPLOAD, testing::Values(DeepScanAccessPoint::UPLOAD,
DeepScanAccessPoint::DRAG_AND_DROP, DeepScanAccessPoint::DRAG_AND_DROP,
DeepScanAccessPoint::PASTE), DeepScanAccessPoint::PASTE)));
/*use_legacy_policies=*/testing::Bool()));
} // namespace safe_browsing } // namespace safe_browsing
...@@ -31,8 +31,6 @@ base::Value MakeListValue(const std::vector<std::string>& elements) { ...@@ -31,8 +31,6 @@ base::Value MakeListValue(const std::vector<std::string>& elements) {
base::Value DefaultConnectorSettings() { base::Value DefaultConnectorSettings() {
base::Value settings(base::Value::Type::DICTIONARY); base::Value settings(base::Value::Type::DICTIONARY);
settings.SetKey(enterprise_connectors::kKeyServiceProvider,
base::Value("google"));
settings.SetKey(enterprise_connectors::kKeyEnable, settings.SetKey(enterprise_connectors::kKeyEnable,
base::Value(base::Value::Type::LIST)); base::Value(base::Value::Type::LIST));
settings.SetKey(enterprise_connectors::kKeyDisable, settings.SetKey(enterprise_connectors::kKeyDisable,
...@@ -75,47 +73,9 @@ void AddConnectorUrlPattern(enterprise_connectors::AnalysisConnector connector, ...@@ -75,47 +73,9 @@ void AddConnectorUrlPattern(enterprise_connectors::AnalysisConnector connector,
list->Append(std::move(list_element)); list->Append(std::move(list_element));
} }
void ClearConnectorUrlPattern(
enterprise_connectors::AnalysisConnector connector,
bool enable,
base::Value tags) {
ListPrefUpdate settings_list(g_browser_process->local_state(),
ConnectorPref(connector));
DCHECK(settings_list.Get());
if (settings_list->empty())
return;
base::Value* settings = nullptr;
DCHECK(settings_list->Get(0, &settings));
DCHECK(settings);
DCHECK(settings->is_dict());
base::Value* list =
settings->FindListPath(enable ? enterprise_connectors::kKeyEnable
: enterprise_connectors::kKeyDisable);
if (!list)
return;
DCHECK(list->is_list());
for (const base::Value& pattern : list->GetList()) {
DCHECK(pattern.is_dict());
const base::Value* pattern_tags =
pattern.FindKey(enterprise_connectors::kKeyTags);
if (!pattern_tags)
continue;
DCHECK(pattern_tags->is_list());
if (*pattern_tags == tags) {
list->EraseListValue(pattern);
}
}
}
template <typename T>
void SetConnectorField(enterprise_connectors::AnalysisConnector connector, void SetConnectorField(enterprise_connectors::AnalysisConnector connector,
const char* key, const char* key,
T value) { bool value) {
InitConnectorPrefIfEmpty(connector); InitConnectorPrefIfEmpty(connector);
ListPrefUpdate settings_list(g_browser_process->local_state(), ListPrefUpdate settings_list(g_browser_process->local_state(),
ConnectorPref(connector)); ConnectorPref(connector));
...@@ -123,7 +83,7 @@ void SetConnectorField(enterprise_connectors::AnalysisConnector connector, ...@@ -123,7 +83,7 @@ void SetConnectorField(enterprise_connectors::AnalysisConnector connector,
DCHECK(settings_list->Get(0, &settings)); DCHECK(settings_list->Get(0, &settings));
DCHECK(settings); DCHECK(settings);
DCHECK(settings->is_dict()); DCHECK(settings->is_dict());
DCHECK(settings->SetKey(key, base::Value(std::move(value)))); settings->SetKey(key, base::Value(std::move(value)));
} }
} // namespace } // namespace
...@@ -393,6 +353,7 @@ void SetDlpPolicyForConnectors(CheckContentComplianceValues state) { ...@@ -393,6 +353,7 @@ void SetDlpPolicyForConnectors(CheckContentComplianceValues state) {
// wildcard pattern should also be included in the disable list if the policy // wildcard pattern should also be included in the disable list if the policy
// is disabled for downloads since no scan can occur with the legacy policy // is disabled for downloads since no scan can occur with the legacy policy
// when it is disabled. // when it is disabled.
bool enable_uploads = bool enable_uploads =
state == CHECK_UPLOADS || state == CHECK_UPLOADS_AND_DOWNLOADS; state == CHECK_UPLOADS || state == CHECK_UPLOADS_AND_DOWNLOADS;
...@@ -444,11 +405,10 @@ void SetMalwarePolicyForConnectors(SendFilesForMalwareCheckValues state) { ...@@ -444,11 +405,10 @@ void SetMalwarePolicyForConnectors(SendFilesForMalwareCheckValues state) {
void SetDelayDeliveryUntilVerdictPolicyForConnectors( void SetDelayDeliveryUntilVerdictPolicyForConnectors(
DelayDeliveryUntilVerdictValues state) { DelayDeliveryUntilVerdictValues state) {
int delay_uploads = bool delay_uploads =
(state == DELAY_UPLOADS || state == DELAY_UPLOADS_AND_DOWNLOADS) ? 1 : 0; state == DELAY_UPLOADS || state == DELAY_UPLOADS_AND_DOWNLOADS;
int delay_downloads = bool delay_downloads =
(state == DELAY_DOWNLOADS || state == DELAY_UPLOADS_AND_DOWNLOADS) ? 1 state == DELAY_DOWNLOADS || state == DELAY_UPLOADS_AND_DOWNLOADS;
: 0;
SetConnectorField(enterprise_connectors::AnalysisConnector::BULK_DATA_ENTRY, SetConnectorField(enterprise_connectors::AnalysisConnector::BULK_DATA_ENTRY,
enterprise_connectors::kKeyBlockUntilVerdict, enterprise_connectors::kKeyBlockUntilVerdict,
delay_uploads); delay_uploads);
...@@ -468,10 +428,10 @@ void SetAllowPasswordProtectedFilesPolicyForConnectors( ...@@ -468,10 +428,10 @@ void SetAllowPasswordProtectedFilesPolicyForConnectors(
state == ALLOW_DOWNLOADS || state == ALLOW_UPLOADS_AND_DOWNLOADS; state == ALLOW_DOWNLOADS || state == ALLOW_UPLOADS_AND_DOWNLOADS;
SetConnectorField(enterprise_connectors::AnalysisConnector::FILE_ATTACHED, SetConnectorField(enterprise_connectors::AnalysisConnector::FILE_ATTACHED,
enterprise_connectors::kKeyBlockPasswordProtected, enterprise_connectors::kKeyBlockPasswordProtected,
!allow_uploads); allow_uploads);
SetConnectorField(enterprise_connectors::AnalysisConnector::FILE_DOWNLOADED, SetConnectorField(enterprise_connectors::AnalysisConnector::FILE_DOWNLOADED,
enterprise_connectors::kKeyBlockPasswordProtected, enterprise_connectors::kKeyBlockPasswordProtected,
!allow_downloads); allow_downloads);
} }
void SetBlockUnsupportedFileTypesPolicyForConnectors( void SetBlockUnsupportedFileTypesPolicyForConnectors(
...@@ -537,18 +497,4 @@ void AddUrlsToNotCheckForMalwareOfDownloadsForConnectors( ...@@ -537,18 +497,4 @@ void AddUrlsToNotCheckForMalwareOfDownloadsForConnectors(
MakeListValue(urls), MakeListValue({"malware"})); MakeListValue(urls), MakeListValue({"malware"}));
} }
void ClearUrlsToCheckComplianceOfDownloadsForConnectors() {
ClearConnectorUrlPattern(
enterprise_connectors::AnalysisConnector::FILE_DOWNLOADED, true,
MakeListValue({"dlp"}));
}
void ClearUrlsToCheckForMalwareOfUploadsForConnectors() {
for (auto connector :
{enterprise_connectors::AnalysisConnector::FILE_ATTACHED,
enterprise_connectors::AnalysisConnector::BULK_DATA_ENTRY}) {
ClearConnectorUrlPattern(connector, true, MakeListValue({"malware"}));
}
}
} // namespace safe_browsing } // namespace safe_browsing
...@@ -126,8 +126,6 @@ void AddUrlsToCheckForMalwareOfUploadsForConnectors( ...@@ -126,8 +126,6 @@ void AddUrlsToCheckForMalwareOfUploadsForConnectors(
const std::vector<std::string>& urls); const std::vector<std::string>& urls);
void AddUrlsToNotCheckForMalwareOfDownloadsForConnectors( void AddUrlsToNotCheckForMalwareOfDownloadsForConnectors(
const std::vector<std::string>& urls); const std::vector<std::string>& urls);
void ClearUrlsToCheckComplianceOfDownloadsForConnectors();
void ClearUrlsToCheckForMalwareOfUploadsForConnectors();
} // namespace safe_browsing } // namespace safe_browsing
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment