@Test public void testBeanPattern() { Address address = new Address("Danmarksgade 2", "9000", "Aalborg", "dk"); assertEquals("Danmarksgade 2", address.getStreet()); assertEquals("9000", address.getPostalCode()); assertEquals("Aalborg", address.getCity()); assertEquals("dk", address.getCountryCode()); }
@Test public void addressConstantIsConsistentWithNemesisBlock() { // Arrange: final Block block = this.loadNemesisBlock(); final Address blockAddress = block.getSigner().getAddress(); // Assert: Assert.assertThat(blockAddress, IsEqual.equalTo(NEMESIS_BLOCK_INFO.getAddress())); Assert.assertThat( blockAddress.getPublicKey(), IsEqual.equalTo(NEMESIS_BLOCK_INFO.getAddress().getPublicKey())); Assert.assertThat(blockAddress.getPublicKey(), IsNull.notNullValue()); }
@Test public void nemesisTransactionSignersHavePublicKeys() { // Arrange: final Block block = this.loadNemesisBlock(); // Act: final Set<Address> signerAddresses = block .getTransactions() .stream() .map(t -> t.getSigner().getAddress()) .collect(Collectors.toSet()); // Assert: for (final Address address : signerAddresses) { Assert.assertThat(address.getPublicKey(), IsNull.notNullValue()); } }
@Test public void nemesisAddressesAreValid() { // Arrange: final Block block = this.loadNemesisBlock(); // Act: final Set<Address> allAddresses = block .getTransactions() .stream() .flatMap(t -> t.getAccounts().stream().map(Account::getAddress)) .collect(Collectors.toSet()); // Assert: for (final Address address : allAddresses) { Assert.assertThat(address.toString(), address.isValid(), IsEqual.equalTo(true)); } }
@Test public void testExampleJson() throws Exception { String json = FileUtil.readFileFromClasspath("json-examples/invoicing-rule-updated-example.json"); JsonMessage jsonMessage = new JsonMessage(json); ServiceResult serviceResult = new ServiceResult(); serviceResult.setRawData(jsonMessage); ServiceResult result = (ServiceResult) transformer.doTransform(serviceResult, "UTF-8"); InvoicingRuleUpdated invoicingRuleCreated = (InvoicingRuleUpdated) result.getIntegrationMessage().getDomainObject(); MetaData metaData = invoicingRuleCreated.getMetaData(); InvoicingRule invoicingRule = invoicingRuleCreated.getInvoicingRule(); List<InvoiceRecipient> invoiceRecipients = invoicingRule.getInvoiceRecipients(); collector.checkThat(invoiceRecipients.size(), is(3)); InvoiceRecipient invoiceRecipient = invoiceRecipients.get(0); Address registeredAddressInvoiceRecipient = invoiceRecipient.getRegisteredAddress(); List<SplittingRule> splittingRules = invoiceRecipients.get(2).getSplittingRules(); collector.checkThat(splittingRules.size(), is(3)); SplittingRule splittingRule = splittingRules.get(0); List<PurchaseOrder> purchaseOrders = invoicingRule.getPurchaseOrders(); collector.checkThat(purchaseOrders.size(), is(3)); PurchaseOrder purchaseOrder = purchaseOrders.get(0); List<InvoicingRuleMessageRule> invoiceMessageRules = invoicingRule.getInvoiceMessageRules(); collector.checkThat(invoiceMessageRules.size(), is(1)); InvoicingRuleMessageRule invoiceMessageRule = invoiceMessageRules.get(0); collector.checkThat(metaData.getMessageType(), is("UpdateInvoicingRule")); collector.checkThat( metaData.getMessageId().getGuid(), is("28b62635-15a0-b15e-c5f4-5442b66d1059")); collector.checkThat( metaData.getCreationTime().getTimestamp(), is("2012-07-05T13:21:00.000+02:00")); collector.checkThat(metaData.getVersion(), is("1.0")); collector.checkThat(metaData.getSourceSystem(), is("CRM")); collector.checkThat(invoicingRule.getClientId(), is("TELIA")); collector.checkThat(invoicingRule.getMarketId().getOrganizationId(), is(51)); collector.checkThat( invoicingRule.getInvoicingRuleId().getGuid(), is("3f2504e0-4f89-11d3-9a0c-0305e82c3405")); collector.checkThat(invoicingRule.getInvoicingRuleName(), is("Volvo - do not edit")); collector.checkThat(invoicingRule.getDescription(), is("Used in unit tests - do not edit")); collector.checkThat(invoicingRule.getIssuerReference(), is("Maria Lind")); collector.checkThat(invoicingRule.getClientReference(), is("Lasse Volvosson")); collector.checkThat(invoicingRule.getCurrencyCode().getCurrencyCode(), is("EUR")); collector.checkThat(invoicingRule.getDistributionMode().getValue(), is(1)); collector.checkThat(invoicingRule.getTermsOfPayment().getDays(), is(30)); collector.checkThat(invoicingRule.getPostingProfile().getValue(), is(1)); collector.checkThat(invoicingRule.isDisplayTradeDoublerCommission(), is(true)); collector.checkThat(invoicingRule.getRevenueType().getValue(), is(1)); collector.checkThat(invoicingRule.getPaymentMethod().getValue(), is(2)); collector.checkThat(invoicingRule.isDeviatingExchangeRate(), is(false)); collector.checkThat( invoiceRecipient.getInvoiceRecipientId().getGuid(), is("703b123f-6329-4d79-bfaa-60762a5f6cf4")); collector.checkThat( invoiceRecipient.getInvoicingRuleId().getGuid(), is("3f2504e0-4f89-11d3-9a0c-0305e82c3405")); collector.checkThat(invoiceRecipient.getAttentionRow1(), is("Attention of default recipient!")); collector.checkThat(invoiceRecipient.getAttentionRow2(), nullValue()); collector.checkThat(invoiceRecipient.getEmailAddress(), nullValue()); collector.checkThat(invoiceRecipient.isDefaultRecipient(), is(true)); collector.checkThat(registeredAddressInvoiceRecipient.getLine1(), is("AVD. 50090 HB3S")); collector.checkThat(registeredAddressInvoiceRecipient.getLine2(), nullValue()); collector.checkThat(registeredAddressInvoiceRecipient.getCity(), is("Göteborg")); collector.checkThat(registeredAddressInvoiceRecipient.getCounty(), nullValue()); collector.checkThat(registeredAddressInvoiceRecipient.getPostalCode(), is("40531")); collector.checkThat(registeredAddressInvoiceRecipient.getCountryCode().getValue(), is("SE")); collector.checkThat(registeredAddressInvoiceRecipient.getAddressType().getValue(), is(1)); collector.checkThat( splittingRule.getSplittingRuleId().getGuid(), is("8f756919-c9ed-e111-8b5b-005056b45da6")); collector.checkThat( splittingRule.getInvoiceRecipientId().getGuid(), is("3ac9520d-c9ed-e111-8b5b-005056b45da6")); collector.checkThat(splittingRule.getSplitter(), is("kjhh567855")); collector.checkThat( purchaseOrder.getInvoicingRuleId().getGuid(), is("3f2504e0-4f89-11d3-9a0c-0305e82c3405")); collector.checkThat(purchaseOrder.getPoNumber(), is("234 - do not edit")); collector.checkThat( purchaseOrder.getPurchaseOrderId().getGuid(), is("00000000-0000-0000-4000-100000000001")); collector.checkThat( purchaseOrder.getValidFrom().getTimestamp(), is("2012-08-15T00:00:00.000+02:00")); collector.checkThat( purchaseOrder.getValidTo().getTimestamp(), is("2012-08-17T00:00:00.000+02:00")); collector.checkThat( invoiceMessageRule.getInvoiceMessageRuleId().getGuid(), is("00000000-0000-0000-3000-100000000001")); collector.checkThat( invoiceMessageRule.getInvoicingRuleId().getGuid(), is("3f2504e0-4f89-11d3-9a0c-0305e82c3405")); collector.checkThat( invoiceMessageRule.getMessageText(), is("This is a text to be printed on all invoices for this invoicing rule")); collector.checkThat( invoiceMessageRule.getValidFrom().getTimestamp(), is("2012-08-13T00:00:00.000+02:00")); collector.checkThat( invoiceMessageRule.getValidTo().getTimestamp(), is("2012-08-30T00:00:00.000+02:00")); }
@Test public void testExampleJson() throws Exception { String json = FileUtil.readFileFromClasspath("json-examples/client-updated-example.json"); JsonMessage jsonMessage = new JsonMessage(json); ServiceResult serviceResult = new ServiceResult(); serviceResult.setRawData(jsonMessage); ServiceResult transformedServiceResult = (ServiceResult) transformer.doTransform(serviceResult, "UTF-8"); ClientUpdated clientUpdated = (ClientUpdated) transformedServiceResult.getIntegrationMessage().getDomainObject(); MetaData metaData = clientUpdated.getMetaData(); collector.checkThat(metaData.getMessageType(), is("UpdateClient")); collector.checkThat( metaData.getMessageId().getGuid(), is("54d7887f-481a-62f6-5b41-3f33f46ec478")); collector.checkThat( metaData.getCreationTime().getTimestamp(), is("2012-07-07T12:52:20.000+02:00")); collector.checkThat(metaData.getVersion(), is("1.0")); collector.checkThat(metaData.getSourceSystem(), is("CRM")); Client client = clientUpdated.getClient(); collector.checkThat(client.getClientId(), is("Cl42824050")); collector.checkThat(client.getBusinessFormCode(), is("")); collector.checkThat(client.getCompanyRegistrationNumber(), is("556284-2319")); collector.checkThat(client.getInvoiceLanguage().getLanguageCode(), is("SV")); collector.checkThat(client.getRegisteredCompanyName(), is("Kentor IT AB")); collector.checkThat(client.getVatNumber(), is("SE556284231901")); collector.checkThat(client.getClientType(), is(ClientType.ADVERTISER)); List<Bank> bankAccounts = client.getBankAccounts(); collector.checkThat(bankAccounts.size(), is(1)); Bank bank = bankAccounts.get(0); collector.checkThat(bank.getAccountOwner(), is("Account Owner Example")); collector.checkThat(bank.getBankAccount(), is("4242424242")); collector.checkThat(bank.getBankCode(), is("SWEDSESS")); collector.checkThat(bank.getClientId(), is("Cl42824050")); collector.checkThat(bank.getMarketId().getOrganizationId(), is(51)); List<ClientMessageRule> invoiceMessageRules = client.getInvoiceMessageRules(); collector.checkThat(invoiceMessageRules.size(), is(1)); ClientMessageRule clientMessageRule = invoiceMessageRules.get(0); collector.checkThat(clientMessageRule.getClientId(), is("Cl42824050")); collector.checkThat( clientMessageRule.getInvoiceMessageRuleId().getGuid(), is("face8421-11f1-4684-1769-3478152e5597")); collector.checkThat( clientMessageRule.getMessageText(), is("This is a text to be printed on all invoices for this client")); collector.checkThat( clientMessageRule.getValidFrom().toString(), is("2012-06-25T00:00:00.000+01:00")); collector.checkThat( clientMessageRule.getValidTo().toString(), is("2012-08-30T00:00:00.000+01:00")); List<Market> marketIds = client.getMarketIds(); collector.checkThat(marketIds.size(), is(1)); collector.checkThat(marketIds.get(0).getOrganizationId(), is(51)); Address registeredAddress = client.getRegisteredAddress(); collector.checkThat(registeredAddress.getCity(), is("Stockholm")); collector.checkThat(registeredAddress.getCountryCode().getValue(), is("SE")); collector.checkThat(registeredAddress.getLine1(), is("Vasagatan 38")); collector.checkThat(registeredAddress.getLine2(), is("hejsan")); collector.checkThat(registeredAddress.getPostalCode(), is("11120")); collector.checkThat(registeredAddress.getAddressType().getValue(), is(3)); collector.checkThat(registeredAddress.getCounty(), nullValue()); }