Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: extensions/browser/api/cast_channel/cast_channel_apitest.cc

Issue 627573002: Enable passing cast channel certificate authority keys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review changes. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/api/cast_channel/cast_channel_apitest.cc
diff --git a/extensions/browser/api/cast_channel/cast_channel_apitest.cc b/extensions/browser/api/cast_channel/cast_channel_apitest.cc
index 065de56f06fd429ae34b03c92e97af7dfebb30f9..0f4bbc11ed8009ced8f9b9206cf021723d227345 100644
--- a/extensions/browser/api/cast_channel/cast_channel_apitest.cc
+++ b/extensions/browser/api/cast_channel/cast_channel_apitest.cc
@@ -183,6 +183,15 @@ class CastChannelAPITest : public ExtensionApiTest {
return cast_channel_send_function;
}
+ extensions::CastChannelSetAuthorityKeysFunction*
+ CreateSetAuthorityKeysFunction(scoped_refptr<Extension> extension) {
+ extensions::CastChannelSetAuthorityKeysFunction*
+ cast_channel_set_authority_keys_function =
+ new extensions::CastChannelSetAuthorityKeysFunction;
+ cast_channel_set_authority_keys_function->set_extension(extension.get());
+ return cast_channel_set_authority_keys_function;
+ }
+
MockCastSocket* mock_cast_socket_;
net::CapturingNetLog capturing_net_log_;
};
@@ -396,3 +405,75 @@ IN_PROC_BROWSER_TEST_F(CastChannelAPITest, TestSendInvalidMessageInfo) {
browser());
EXPECT_EQ(error, "message_info.destination_id is required");
}
+
+IN_PROC_BROWSER_TEST_F(CastChannelAPITest, TestSetAuthorityKeysInvalid) {
+ scoped_refptr<Extension> empty_extension(
+ extensions::test_util::CreateEmptyExtension());
+ scoped_refptr<extensions::CastChannelSetAuthorityKeysFunction>
+ cast_channel_set_authority_keys_function;
+ std::string errorResult = "Unable to set authority keys.";
+
+ cast_channel_set_authority_keys_function =
+ CreateSetAuthorityKeysFunction(empty_extension);
+ std::string error = utils::RunFunctionAndReturnError(
+ cast_channel_set_authority_keys_function.get(),
+ "[\"\", \"\"]",
+ browser());
+ EXPECT_EQ(error, errorResult);
+
+ cast_channel_set_authority_keys_function =
+ CreateSetAuthorityKeysFunction(empty_extension);
+ error = utils::RunFunctionAndReturnError(
+ cast_channel_set_authority_keys_function.get(),
+ "[\"keys\", \"signature\"]",
+ browser());
+ EXPECT_EQ(error, errorResult);
+
+ cast_channel_set_authority_keys_function =
+ CreateSetAuthorityKeysFunction(empty_extension);
+ std::string keys =
+ "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
+ "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
+ "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
+ "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
+ "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
+ "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQ==";
+ std::string signature =
+ "chCUHZKkykcwU8HzU+hm027fUTBL0dqPMtrzppwExQwK9+"
+ "XlmCjJswfce2sUUfhR1OL1tyW4hWFwu4JnuQCJ+CvmSmAh2bzRpnuSKzBfgvIDjNOAGUs7"
+ "ADaNSSWPLxp+6ko++2Dn4S9HpOt8N1v6gMWqj3Ru5IqFSQPZSvGH2ois6uE50CFayPcjQE"
+ "OVZt41noQdFd15RmKTvocoCC5tHNlaikeQ52yi0IScOlad1B1lMhoplW3rWophQaqxMumr"
+ "OcHIZ+Y+p858x5f8Pny/kuqUClmFh9B/vF07NsUHwoSL9tA5t5jCY3L5iUc/v7o3oFcW/T"
+ "gojKkX2Kg7KQ86QA==";
+ std::string args = "[\"" + keys + "\", \"" + signature + "\"]";
+ error = utils::RunFunctionAndReturnError(
+ cast_channel_set_authority_keys_function.get(), args, browser());
+ EXPECT_EQ(error, errorResult);
+}
+
+IN_PROC_BROWSER_TEST_F(CastChannelAPITest, TestSetAuthorityKeysValid) {
+ scoped_refptr<Extension> empty_extension(
+ extensions::test_util::CreateEmptyExtension());
+ scoped_refptr<extensions::CastChannelSetAuthorityKeysFunction>
+ cast_channel_set_authority_keys_function;
+
+ cast_channel_set_authority_keys_function =
+ CreateSetAuthorityKeysFunction(empty_extension);
+ std::string keys =
+ "CrMCCiBSnZzWf+XraY5w3SbX2PEmWfHm5SNIv2pc9xbhP0EOcxKOAjCCAQoCggEBALwigL"
+ "2A9johADuudl41fz3DZFxVlIY0LwWHKM33aYwXs1CnuIL638dDLdZ+q6BvtxNygKRHFcEg"
+ "mVDN7BRiCVukmM3SQbY2Tv/oLjIwSoGoQqNsmzNuyrL1U2bgJ1OGGoUepzk/SneO+1RmZv"
+ "tYVMBeOcf1UAYL4IrUzuFqVR+LFwDmaaMn5gglaTwSnY0FLNYuojHetFJQ1iBJ3nGg+a0g"
+ "QBLx3SXr1ea4NvTWj3/KQ9zXEFvmP1GKhbPz//YDLcsjT5ytGOeTBYysUpr3TOmZer5ufk"
+ "0K48YcqZP6OqWRXRy9ZuvMYNyGdMrP+JIcmH1X+mFHnquAt+RIgCqSxRsCAwEAAQ==";
+ std::string signature =
+ "QEdWF9Oup2lXxFYbwdpe6OJQsUISN0eqd/F0N6BXWH2zKO0nfDu84FdO7OyKRn+24Dd9Ie"
+ "k6ZM8qC7bd0Aivi3gMbkbC7lJELd5LGP0a+8SsDqUGnW/xkOnrSV1m4+ibrZoKGDqKeERi"
+ "YwbORECCyPzz6TI0zkQ+R6yTLNPcwfRCpLPPOcZ4j+IEy1EW2/f8doBnVDZs6a2S/wlBcQ"
+ "X55XrdUw6FV+LL9HbiWktFDFqOUxitW6zGiZ9FP0TcchWcpvR9hLAs/AosfaC+4GszK1cq"
+ "bOLmrE/+sR5i3TQWsPa0boe04O68l6lQRM1nQ9OpvVtEKgSEtpvYVVHkPWDp5g==";
+ std::string args = "[\"" + keys + "\", \"" + signature + "\"]";
+ std::string error = utils::RunFunctionAndReturnError(
+ cast_channel_set_authority_keys_function.get(), args, browser());
+ EXPECT_EQ(error, std::string());
+}

Powered by Google App Engine
This is Rietveld 408576698