OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <utility> | 5 #include <utility> |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "components/payments/mojom/payment_app.mojom.h" | 9 #include "components/payments/mojom/payment_app.mojom.h" |
10 #include "content/browser/payments/payment_app_content_unittest_base.h" | 10 #include "content/browser/payments/payment_app_content_unittest_base.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 void GetManifestCallback(bool* called, | 33 void GetManifestCallback(bool* called, |
34 PaymentAppManifestPtr* out_manifest, | 34 PaymentAppManifestPtr* out_manifest, |
35 PaymentAppManifestError* out_error, | 35 PaymentAppManifestError* out_error, |
36 PaymentAppManifestPtr manifest, | 36 PaymentAppManifestPtr manifest, |
37 PaymentAppManifestError error) { | 37 PaymentAppManifestError error) { |
38 *called = true; | 38 *called = true; |
39 *out_manifest = std::move(manifest); | 39 *out_manifest = std::move(manifest); |
40 *out_error = error; | 40 *out_error = error; |
41 } | 41 } |
42 | 42 |
| 43 void DeletePaymentInstrumentCallback(PaymentHandlerStatus* out_status, |
| 44 PaymentHandlerStatus status) { |
| 45 *out_status = status; |
| 46 } |
| 47 |
43 void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status, | 48 void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status, |
44 PaymentHandlerStatus status) { | 49 PaymentHandlerStatus status) { |
45 *out_status = status; | 50 *out_status = status; |
46 } | 51 } |
47 | 52 |
48 void GetPaymentInstrumentCallback(PaymentInstrumentPtr* out_instrument, | 53 void GetPaymentInstrumentCallback(PaymentInstrumentPtr* out_instrument, |
49 PaymentHandlerStatus* out_status, | 54 PaymentHandlerStatus* out_status, |
50 PaymentInstrumentPtr instrument, | 55 PaymentInstrumentPtr instrument, |
51 PaymentHandlerStatus status) { | 56 PaymentHandlerStatus status) { |
52 *out_instrument = std::move(instrument); | 57 *out_instrument = std::move(instrument); |
53 *out_status = status; | 58 *out_status = status; |
54 } | 59 } |
55 | 60 |
56 } // namespace | 61 } // namespace |
57 | 62 |
58 class PaymentManagerTest : public PaymentAppContentUnitTestBase { | 63 class PaymentManagerTest : public PaymentAppContentUnitTestBase { |
59 public: | 64 public: |
60 PaymentManagerTest() { | 65 PaymentManagerTest() { |
61 manager_ = CreatePaymentManager(GURL(kServiceWorkerPattern), | 66 manager_ = CreatePaymentManager(GURL(kServiceWorkerPattern), |
62 GURL(kServiceWorkerScript)); | 67 GURL(kServiceWorkerScript)); |
63 EXPECT_NE(nullptr, manager_); | 68 EXPECT_NE(nullptr, manager_); |
64 } | 69 } |
65 | 70 |
66 PaymentManager* payment_manager() const { return manager_; } | 71 PaymentManager* payment_manager() const { return manager_; } |
67 | 72 |
68 void SetPaymentInstrument(const std::string& instrumentKey, | 73 void DeletePaymentInstrument(const std::string& instrument_key, |
| 74 PaymentHandlerStatus* out_status) { |
| 75 manager_->DeletePaymentInstrument( |
| 76 instrument_key, |
| 77 base::Bind(&DeletePaymentInstrumentCallback, out_status)); |
| 78 base::RunLoop().RunUntilIdle(); |
| 79 } |
| 80 |
| 81 void SetPaymentInstrument(const std::string& instrument_key, |
69 PaymentInstrumentPtr instrument, | 82 PaymentInstrumentPtr instrument, |
70 PaymentHandlerStatus* out_status) { | 83 PaymentHandlerStatus* out_status) { |
71 manager_->SetPaymentInstrument( | 84 manager_->SetPaymentInstrument( |
72 instrumentKey, std::move(instrument), | 85 instrument_key, std::move(instrument), |
73 base::Bind(&SetPaymentInstrumentCallback, out_status)); | 86 base::Bind(&SetPaymentInstrumentCallback, out_status)); |
74 base::RunLoop().RunUntilIdle(); | 87 base::RunLoop().RunUntilIdle(); |
75 } | 88 } |
76 | 89 |
77 void GetPaymentInstrument(const std::string& instrumentKey, | 90 void GetPaymentInstrument(const std::string& instrument_key, |
78 PaymentInstrumentPtr* out_instrument, | 91 PaymentInstrumentPtr* out_instrument, |
79 PaymentHandlerStatus* out_status) { | 92 PaymentHandlerStatus* out_status) { |
80 manager_->GetPaymentInstrument( | 93 manager_->GetPaymentInstrument( |
81 instrumentKey, | 94 instrument_key, |
82 base::Bind(&GetPaymentInstrumentCallback, out_instrument, out_status)); | 95 base::Bind(&GetPaymentInstrumentCallback, out_instrument, out_status)); |
83 base::RunLoop().RunUntilIdle(); | 96 base::RunLoop().RunUntilIdle(); |
84 } | 97 } |
85 | 98 |
86 private: | 99 private: |
87 // Owned by payment_app_context_. | 100 // Owned by payment_app_context_. |
88 PaymentManager* manager_; | 101 PaymentManager* manager_; |
89 | 102 |
90 DISALLOW_COPY_AND_ASSIGN(PaymentManagerTest); | 103 DISALLOW_COPY_AND_ASSIGN(PaymentManagerTest); |
91 }; | 104 }; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 } | 191 } |
179 | 192 |
180 TEST_F(PaymentManagerTest, GetUnstoredPaymentInstrument) { | 193 TEST_F(PaymentManagerTest, GetUnstoredPaymentInstrument) { |
181 PaymentHandlerStatus read_status = PaymentHandlerStatus::SUCCESS; | 194 PaymentHandlerStatus read_status = PaymentHandlerStatus::SUCCESS; |
182 PaymentInstrumentPtr read_details; | 195 PaymentInstrumentPtr read_details; |
183 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, read_status); | 196 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, read_status); |
184 GetPaymentInstrument("test_key", &read_details, &read_status); | 197 GetPaymentInstrument("test_key", &read_details, &read_status); |
185 ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status); | 198 ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status); |
186 } | 199 } |
187 | 200 |
| 201 TEST_F(PaymentManagerTest, DeletePaymentInstrument) { |
| 202 PaymentHandlerStatus write_status = PaymentHandlerStatus::NOT_FOUND; |
| 203 PaymentInstrumentPtr write_details = PaymentInstrument::New(); |
| 204 write_details->name = "Visa ending ****4756", |
| 205 write_details->enabled_methods.push_back("visa"); |
| 206 write_details->stringified_capabilities = "{}"; |
| 207 ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, write_status); |
| 208 SetPaymentInstrument("test_key", std::move(write_details), &write_status); |
| 209 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, write_status); |
| 210 |
| 211 PaymentHandlerStatus read_status = PaymentHandlerStatus::NOT_FOUND; |
| 212 PaymentInstrumentPtr read_details; |
| 213 ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status); |
| 214 GetPaymentInstrument("test_key", &read_details, &read_status); |
| 215 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, read_status); |
| 216 |
| 217 PaymentHandlerStatus delete_status = PaymentHandlerStatus::NOT_FOUND; |
| 218 DeletePaymentInstrument("test_key", &delete_status); |
| 219 ASSERT_EQ(PaymentHandlerStatus::SUCCESS, delete_status); |
| 220 |
| 221 read_status = PaymentHandlerStatus::NOT_FOUND; |
| 222 GetPaymentInstrument("test_key", &read_details, &read_status); |
| 223 ASSERT_EQ(PaymentHandlerStatus::NOT_FOUND, read_status); |
| 224 } |
| 225 |
188 } // namespace content | 226 } // namespace content |
OLD | NEW |