+TEST_F(NetworkConfigurationUpdaterTest,
+ DontImportCertificateBeforeCertificateImporterSet) {
+ PolicyMap policy;
+ policy.Set(key::kOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY,
+ POLICY_SCOPE_USER, new base::StringValue(kFakeONC), NULL);
+ UpdateProviderPolicy(policy);
+
+ EXPECT_CALL(network_config_handler_,
+ SetPolicy(onc::ONC_SOURCE_USER_POLICY,
+ kFakeUsernameHash,
+ IsEqualTo(&fake_network_configs_),
+ IsEqualTo(&fake_global_network_config_)));
+ EXPECT_CALL(*certificate_importer_, ImportCertificates(_, _ , _)).Times(0);
+
+ UserNetworkConfigurationUpdater* updater =
+ CreateNetworkConfigurationUpdaterForUserPolicy(
+ true /* allow trusted certs from policy */,
+ false /* do not set certificate importer */);
+ MarkPolicyProviderInitialized();
+
+ Mock::VerifyAndClearExpectations(&network_config_handler_);
+ Mock::VerifyAndClearExpectations(certificate_importer_);
+
+ EXPECT_CALL(network_config_handler_,
+ SetPolicy(onc::ONC_SOURCE_USER_POLICY,
+ kFakeUsernameHash,
+ IsEqualTo(&fake_network_configs_),
+ IsEqualTo(&fake_global_network_config_)))
+ .Times(0);
+ EXPECT_CALL(*certificate_importer_,
+ ImportCertificates(IsEqualTo(&fake_certificates_),
+ onc::ONC_SOURCE_USER_POLICY,
+ _));
+
+ ASSERT_TRUE(certificate_importer_owned_);
+ updater->SetCertificateImporterForTest(certificate_importer_owned_.Pass());
+}
+