[M120 Migration][MM] Support W3C EME
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / unittest / utc_blink_ewk_certificate_policy_decision_error_get_func.cpp
1 // Copyright 2021 Samsung Electronics. 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 #include "utc_blink_ewk_base.h"
6
7 static const char* const kUrlWithCertCompromise =
8     "https://www.pcwebshop.co.uk/";
9
10 class utc_blink_ewk_certificate_policy_decision_error_get
11     : public utc_blink_ewk_base {
12  protected:
13   utc_blink_ewk_certificate_policy_decision_error_get()
14       : error_(EWK_CERTIFICATE_POLICY_DECISION_ERROR_UNKNOWN) {}
15
16   void PostSetUp() override {
17     evas_object_smart_callback_add(GetEwkWebView(),
18                                    "request,certificate,confirm",
19                                    request_certificate_confirm, this);
20   }
21
22   void PreTearDown() override {
23     evas_object_smart_callback_del(GetEwkWebView(),
24                                    "request,certificate,confirm",
25                                    request_certificate_confirm);
26   }
27
28   void LoadFinished(Evas_Object* webview) override { EventLoopStop(Failure); }
29
30   static void request_certificate_confirm(void* data,
31                                           Evas_Object* webview,
32                                           void* event_info) {
33     auto owner =
34         static_cast<utc_blink_ewk_certificate_policy_decision_error_get*>(data);
35
36     owner->error_ = ewk_certificate_policy_decision_error_get(
37         static_cast<Ewk_Certificate_Policy_Decision*>(event_info));
38
39     owner->EventLoopStop(Success);
40   }
41
42   Ewk_Certificate_Policy_Decision_Error error_;
43 };
44
45 /**
46  * @brief Checking whether ewk_certificate_policy_decision_error_get
47  *        returns know error code.
48  */
49 TEST_F(utc_blink_ewk_certificate_policy_decision_error_get, POS_TEST) {
50   ASSERT_EQ(EINA_TRUE,
51             ewk_view_url_set(GetEwkWebView(), kUrlWithCertCompromise));
52   ASSERT_EQ(Success, EventLoopStart());
53   ASSERT_NE(EWK_CERTIFICATE_POLICY_DECISION_ERROR_UNKNOWN, error_);
54 }
55
56 /**
57  * @brief Checking whether function works properly in case of NULL argument.
58  */
59 TEST_F(utc_blink_ewk_certificate_policy_decision_error_get,
60        NEG_TEST_INVALID_PARAM) {
61   ASSERT_EQ(EWK_CERTIFICATE_POLICY_DECISION_ERROR_UNKNOWN,
62             ewk_certificate_policy_decision_error_get(nullptr));
63 }