Index: chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc |
diff --git a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc |
index cb5ab5e97f233d208432a7facc410d5051310087..839383687de716a2021e16d6d1174b46dbb56c5b 100644 |
--- a/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc |
+++ b/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc |
@@ -11,6 +11,7 @@ |
#include "chrome/browser/extensions/extension_tab_util.h" |
#include "chrome/browser/media/webrtc_log_uploader.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
+#include "chrome/common/chrome_switches.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/test/test_utils.h" |
#include "extensions/common/test_util.h" |
@@ -25,6 +26,8 @@ using extensions::WebrtcLoggingPrivateStopRtpDumpFunction; |
using extensions::WebrtcLoggingPrivateStoreFunction; |
using extensions::WebrtcLoggingPrivateUploadFunction; |
using extensions::WebrtcLoggingPrivateUploadStoredFunction; |
+using extensions::WebrtcLoggingPrivateStartAudioDebugRecordingsFunction; |
+using extensions::WebrtcLoggingPrivateStopAudioDebugRecordingsFunction; |
namespace utils = extension_function_test_utils; |
@@ -54,7 +57,6 @@ void InitializeTestMetaData(base::ListValue* parameters) { |
class WebrtcLoggingPrivateApiTest : public ExtensionApiTest { |
protected: |
- |
void SetUp() override { |
ExtensionApiTest::SetUp(); |
extension_ = extensions::test_util::CreateEmptyExtension(); |
@@ -158,6 +160,21 @@ class WebrtcLoggingPrivateApiTest : public ExtensionApiTest { |
return RunFunction<WebrtcLoggingPrivateUploadStoredFunction>(params, true); |
} |
+ bool StartAudioDebugRecordings(int seconds) { |
+ base::ListValue params; |
+ AppendTabIdAndUrl(¶ms); |
+ params.AppendInteger(seconds); |
+ return RunFunction<WebrtcLoggingPrivateStartAudioDebugRecordingsFunction>( |
+ params, true); |
+ } |
+ |
+ bool StopAudioDebugRecordings() { |
+ base::ListValue params; |
+ AppendTabIdAndUrl(¶ms); |
+ return RunFunction<WebrtcLoggingPrivateStopAudioDebugRecordingsFunction>( |
+ params, true); |
+ } |
+ |
private: |
scoped_refptr<Extension> extension_; |
}; |
@@ -393,3 +410,20 @@ IN_PROC_BROWSER_TEST_F(WebrtcLoggingPrivateApiTest, |
buffer_override.multipart().find(kTestLoggingUrl)); |
} |
+IN_PROC_BROWSER_TEST_F(WebrtcLoggingPrivateApiTest, |
+ TestStartStopAudioDebugRecordings) { |
+ // TODO(guidou): These tests are missing verification of the actual AEC dump |
+ // data. This will be fixed with a separate browser test. |
+ // See crbug.com/569957. |
+ base::CommandLine::ForCurrentProcess()->AppendSwitch( |
+ switches::kEnableAudioDebugRecordingsFromExtension); |
+ ASSERT_TRUE(StartAudioDebugRecordings(0)); |
+ ASSERT_TRUE(StopAudioDebugRecordings()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(WebrtcLoggingPrivateApiTest, |
+ TestStartTimedAudioDebugRecordings) { |
+ base::CommandLine::ForCurrentProcess()->AppendSwitch( |
+ switches::kEnableAudioDebugRecordingsFromExtension); |
+ ASSERT_TRUE(StartAudioDebugRecordings(1)); |
+} |