@NonNull private static Map<String, Object> hashMapFromCard( @Nullable UidProvider provider, @NonNull Context context, Card card) { Map<String, Object> tokenParams = new HashMap<>(); Map<String, Object> cardParams = new HashMap<>(); cardParams.put("number", StripeTextUtils.nullIfBlank(card.getNumber())); cardParams.put("cvc", StripeTextUtils.nullIfBlank(card.getCVC())); cardParams.put("exp_month", card.getExpMonth()); cardParams.put("exp_year", card.getExpYear()); cardParams.put("name", StripeTextUtils.nullIfBlank(card.getName())); cardParams.put("currency", StripeTextUtils.nullIfBlank(card.getCurrency())); cardParams.put("address_line1", StripeTextUtils.nullIfBlank(card.getAddressLine1())); cardParams.put("address_line2", StripeTextUtils.nullIfBlank(card.getAddressLine2())); cardParams.put("address_city", StripeTextUtils.nullIfBlank(card.getAddressCity())); cardParams.put("address_zip", StripeTextUtils.nullIfBlank(card.getAddressZip())); cardParams.put("address_state", StripeTextUtils.nullIfBlank(card.getAddressState())); cardParams.put("address_country", StripeTextUtils.nullIfBlank(card.getAddressCountry())); // Remove all null values; they cause validation errors removeNullAndEmptyParams(cardParams); // We store the logging items in this field, which is extracted from the parameters // sent to the API. tokenParams.put(LoggingUtils.FIELD_PRODUCT_USAGE, card.getLoggingTokens()); tokenParams.put(Token.TYPE_CARD, cardParams); addUidParams(provider, context, tokenParams); return tokenParams; }
ownerMap.put(FIELD_NAME, card.getName()); if (addressMap.keySet().size() > 0) { ownerMap.put(FIELD_ADDRESS, addressMap);
@Test public void equals_whenNotEquals_returnsFalse() { assertTrue(StripeJsonModel.class.isAssignableFrom(Card.class)); Card firstCard = Card.fromString(CardTest.JSON_CARD); Card secondCard = Card.fromString(CardTest.JSON_CARD); assertNotNull(firstCard); assertNotNull(secondCard); String firstName = firstCard.getName(); String secondName = firstName == null ? "a non-null value" : firstName + "a change"; secondCard.setName(secondName); assertNotEquals(firstCard, secondCard); }
@Test public void fromString_whenStringIsValidJson_returnsExpectedCard() { final Card expectedCard = buildEquivalentJsonCard(); final Card cardFromJson = Card.fromString(JSON_CARD); assertNotNull(cardFromJson); assertEquals(expectedCard.getBrand(), cardFromJson.getBrand()); assertEquals(expectedCard.getFunding(), cardFromJson.getFunding()); assertEquals(expectedCard.getCountry(), cardFromJson.getCountry()); assertEquals(expectedCard.getLast4(), cardFromJson.getLast4()); assertEquals(expectedCard.getExpMonth(), cardFromJson.getExpMonth()); assertEquals(expectedCard.getExpYear(), cardFromJson.getExpYear()); assertEquals(expectedCard.getCurrency(), cardFromJson.getCurrency()); assertEquals(expectedCard.getAddressCity(), cardFromJson.getAddressCity()); assertEquals(expectedCard.getAddressCountry(), cardFromJson.getAddressCountry()); assertEquals(expectedCard.getAddressLine1(), cardFromJson.getAddressLine1()); assertEquals(expectedCard.getAddressLine1Check(), cardFromJson.getAddressLine1Check()); assertEquals(expectedCard.getAddressLine2(), cardFromJson.getAddressLine2()); assertEquals(expectedCard.getAddressState(), cardFromJson.getAddressState()); assertEquals(expectedCard.getAddressZip(), cardFromJson.getAddressZip()); assertEquals(expectedCard.getAddressZipCheck(), cardFromJson.getAddressZipCheck()); assertEquals(expectedCard.getCvcCheck(), cardFromJson.getCvcCheck()); assertEquals(expectedCard.getName(), cardFromJson.getName()); assertEquals(expectedCard.getCustomerId(), cardFromJson.getCustomerId()); assertEquals(expectedCard.getFingerprint(), cardFromJson.getFingerprint()); assertEquals(expectedCard.getId(), cardFromJson.getId()); assertEquals(expectedCard.getMetadata(), cardFromJson.getMetadata()); }