|
36 | 36 | import com.stripe.model.Invoice; |
37 | 37 | import com.stripe.model.InvoiceItem; |
38 | 38 | import com.stripe.model.InvoiceLineItemCollection; |
| 39 | +import com.stripe.model.MetadataStore; |
39 | 40 | import com.stripe.model.Plan; |
40 | 41 | import com.stripe.model.Subscription; |
41 | 42 | import com.stripe.model.Token; |
@@ -1115,4 +1116,65 @@ public void testEventListPerCallAPIKey() throws StripeException { |
1115 | 1116 | assertEquals(events.size(), 1); |
1116 | 1117 | } |
1117 | 1118 |
|
| 1119 | + private void testMetadata(MetadataStore<?> object) throws StripeException { |
| 1120 | + assertTrue(object.getMetadata().isEmpty()); |
| 1121 | + |
| 1122 | + Map<String, String> initialMetadata = new HashMap<String, String>(); |
| 1123 | + initialMetadata.put("foo", "bar"); |
| 1124 | + initialMetadata.put("baz", "qux"); |
| 1125 | + Map<String, Object> updateParams = new HashMap<String, Object>(); |
| 1126 | + updateParams.put("metadata", initialMetadata); |
| 1127 | + object = object.update(updateParams); |
| 1128 | + assertFalse(object.getMetadata().isEmpty()); |
| 1129 | + assertEquals("bar", object.getMetadata().get("foo")); |
| 1130 | + assertEquals("qux", object.getMetadata().get("baz")); |
| 1131 | + |
| 1132 | + // Test update single key |
| 1133 | + Map<String, String> metadataUpdate = new HashMap<String, String>(); |
| 1134 | + metadataUpdate.put("foo", "new-bar"); |
| 1135 | + updateParams = new HashMap<String, Object>(); |
| 1136 | + updateParams.put("metadata", metadataUpdate); |
| 1137 | + object = object.update(updateParams); |
| 1138 | + assertFalse(object.getMetadata().isEmpty()); |
| 1139 | + assertEquals("new-bar", object.getMetadata().get("foo")); |
| 1140 | + assertEquals("qux", object.getMetadata().get("baz")); |
| 1141 | + |
| 1142 | + // Test delete single key |
| 1143 | + metadataUpdate = new HashMap<String, String>(); |
| 1144 | + metadataUpdate.put("foo", null); |
| 1145 | + updateParams = new HashMap<String, Object>(); |
| 1146 | + updateParams.put("metadata", metadataUpdate); |
| 1147 | + object = object.update(updateParams); |
| 1148 | + assertFalse(object.getMetadata().isEmpty()); |
| 1149 | + assertFalse(object.getMetadata().containsKey("foo")); |
| 1150 | + assertEquals("qux", object.getMetadata().get("baz")); |
| 1151 | + |
| 1152 | + // Test delete all keys |
| 1153 | + updateParams = new HashMap<String, Object>(); |
| 1154 | + updateParams.put("metadata", null); |
| 1155 | + object = object.update(updateParams); |
| 1156 | + assertTrue(object.getMetadata().isEmpty()); |
| 1157 | + } |
| 1158 | + |
| 1159 | + @Test |
| 1160 | + public void testChargeMetadata() throws StripeException { |
| 1161 | + testMetadata(Charge.create(defaultChargeParams)); |
| 1162 | + } |
| 1163 | + |
| 1164 | + @Test |
| 1165 | + public void testCustomerMetadata() throws StripeException { |
| 1166 | + testMetadata(Customer.create(defaultCustomerParams)); |
| 1167 | + } |
| 1168 | + |
| 1169 | + @Test |
| 1170 | + public void testTransferMetadata() throws StripeException { |
| 1171 | + Recipient recipient = Recipient.create(defaultRecipientParams); |
| 1172 | + defaultTransferParams.put("recipient", recipient.getId()); |
| 1173 | + testMetadata(Transfer.create(defaultTransferParams)); |
| 1174 | + } |
| 1175 | + |
| 1176 | + @Test |
| 1177 | + public void testRecipientMetadata() throws StripeException { |
| 1178 | + testMetadata(Recipient.create(defaultRecipientParams)); |
| 1179 | + } |
1118 | 1180 | } |
0 commit comments