Home | History | Annotate | Download | only in test_runner
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_PUSH_CLIENT_H_
      6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_PUSH_CLIENT_H_
      7 
      8 #include <string>
      9 
     10 #include "third_party/WebKit/public/platform/WebPushClient.h"
     11 
     12 namespace blink {
     13 class WebString;
     14 }  // namespace blink
     15 
     16 namespace content {
     17 
     18 // MockWebPushClient is a mock implementation of WebPushClient to be able to
     19 // test the Push Message API in Blink without depending on the content layer.
     20 // The mock, for legacy reasons, automatically fails if it wasn't set to another
     21 // state. Consumers can set its success values and error values by calling
     22 // respectively SetMockSuccessValues and SetMockErrorValues. When
     23 // SetMockSuccessValues is called, the mock will always succeed until
     24 // SetMockErrorValues is called at which point it will always fail.
     25 class MockWebPushClient : public blink::WebPushClient {
     26  public:
     27   MockWebPushClient();
     28   virtual ~MockWebPushClient();
     29 
     30   void SetMockSuccessValues(const std::string& end_point,
     31                             const std::string& registration_id);
     32 
     33   void SetMockErrorValues(const std::string& message);
     34 
     35  private:
     36   // WebPushClient implementation.
     37   virtual void registerPushMessaging(
     38       const blink::WebString& sender_id,
     39       blink::WebPushRegistrationCallbacks* callbacks);
     40 
     41   std::string end_point_;
     42   std::string registration_id_;
     43   std::string error_message_;
     44 
     45   DISALLOW_COPY_AND_ASSIGN(MockWebPushClient);
     46 };
     47 
     48 }  // namespace content
     49 
     50 #endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_WEB_PUSH_CLIENT_H_
     51