Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/1.12 -> master #973

Closed
wants to merge 12 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions annotations/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,9 @@ plugins {
group = projectGroup
version = projectVersion

java {
toolchain {
// must stay on Java 11 due to compatibility issues
languageVersion.set(JavaLanguageVersion.of(11))
}
}
5 changes: 5 additions & 0 deletions buildSrc/src/main/groovy/shared-build-conventions.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ repositories {
mavenCentral()
}

dependencies {
compileOnly 'org.projectlombok:lombok:1.18.36'
annotationProcessor 'org.projectlombok:lombok:1.18.36'
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
Expand Down
18 changes: 17 additions & 1 deletion currencies/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,21 @@ version = projectVersion

dependencies {
implementation("org.slf4j:slf4j-api:1.7.28")
testImplementation("junit:junit:4.13.1")
// keeping junit 4 for compatibility, will be removed soon, use junit 5 instead
testImplementation("junit:junit:4.13.2")
testImplementation("org.junit.vintage:junit-vintage-engine:5.11.4")

testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4")
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.11.4")
}

java {
toolchain {
// must stay on Java 11 due to compatibility issues
languageVersion.set(JavaLanguageVersion.of(11))
}
}

test {
useJUnitPlatform()
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public enum FiatCurrency {
BAM("Bosnia and Herzegovina convertible mark"),
BGN("Bulgarian lev"),
BHD("Bahraini dinar"),
BOB("Bolivian boliviano"),
BRL("Brazilian real"),
BSD("Bahamian Dollar"),
CAD("Canadian dollar"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,52 +1,51 @@
package com.generalbytes.batm.common.currencies;

import org.junit.Test;
import org.junit.jupiter.api.Test;

import java.util.Arrays;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.*;

public class CryptoCurrencyTest {
class CryptoCurrencyTest {

@Test
public void getCurrencyName() {
void getCurrencyName() {
assertEquals("Bitcoin", CryptoCurrency.BTC.getCurrencyName());
assertEquals("Litecoin", CryptoCurrency.LTC.getCurrencyName());
assertEquals("Bitcoin Cash", CryptoCurrency.BCH.getCurrencyName());
for (CryptoCurrency c : CryptoCurrency.values()) {
assertTrue(c.name() + " name", c.getCurrencyName() != null && !c.getCurrencyName().isEmpty());
assertTrue(c.getCurrencyName() != null && !c.getCurrencyName().isEmpty(), c.name() + " name");
}
}

@Test
public void getCode() {
void getCode() {
assertEquals("BTC", CryptoCurrency.BTC.getCode());
assertEquals("$PAC", CryptoCurrency.PAC.getCode());
for (CryptoCurrency c : CryptoCurrency.values()) {
assertTrue(c.name() + " code", c.getCode() != null && c.getCurrencyName().length() > 1);
assertEquals(c.name() + " code should be uppercase", c.getCode(), c.getCode().toUpperCase());
assertEquals(c.name() + " enum should be uppercase", c.name(), c.name().toUpperCase());
assertTrue(c.getCode() != null && c.getCurrencyName().length() > 1, c.name() + " code");
assertEquals(c.getCode(), c.getCode().toUpperCase(), c.name() + " code should be uppercase");
assertEquals(c.name(), c.name().toUpperCase(), c.name() + " enum should be uppercase");
}
}

@Test
public void getCodes() {
void getCodes() {
assertEquals(CryptoCurrency.values().length, CryptoCurrency.getCodes().size());
assertTrue(CryptoCurrency.getCodes().containsAll(Arrays.asList("BTC", "$PAC", "LTC")));
}

@Test
public void valueOfCode() {
void valueOfCode() {
assertEquals(CryptoCurrency.BTC, CryptoCurrency.valueOfCode("btc"));
assertEquals(CryptoCurrency.BTC, CryptoCurrency.valueOfCode("BTC"));
assertEquals(CryptoCurrency.PAC, CryptoCurrency.valueOfCode("$pAC"));
assertEquals(CryptoCurrency.PAC, CryptoCurrency.valueOfCode("$PAC"));
}

@Test(expected = IllegalArgumentException.class)
public void valueOfException() {
CryptoCurrency.valueOf("$PAC");
@Test
void valueOfException() {
assertThrows(IllegalArgumentException.class, () -> CryptoCurrency.valueOf("$PAC"));

}
}
Original file line number Diff line number Diff line change
@@ -1,33 +1,35 @@
package com.generalbytes.batm.common.currencies;

import org.junit.Test;
import org.junit.jupiter.api.Test;

import java.util.Arrays;

import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class FiatCurrencyTest {

class FiatCurrencyTest {

@Test
public void getCurrencyName() {
void getCurrencyName() {
assertEquals("Czech koruna", FiatCurrency.CZK.getCurrencyName());
for (FiatCurrency c : FiatCurrency.values()) {
assertTrue(c.name() + " name", c.getCurrencyName() != null && !c.getCurrencyName().isEmpty());
assertTrue(c.getCurrencyName() != null && !c.getCurrencyName().isEmpty(), c.name() + " name");
}
}

@Test
public void getCode() {
void getCode() {
assertEquals("CZK", FiatCurrency.CZK.getCode());
for (FiatCurrency c : FiatCurrency.values()) {
assertTrue(c.name() + " code", c.getCurrencyName().length() > 1);
assertEquals(c.name() + " code should be uppercase", c.getCode(), c.getCode().toUpperCase());
assertEquals(c.name() + " enum should be uppercase", c.name(), c.name().toUpperCase());
assertTrue(c.getCurrencyName().length() > 1, c.name() + " code");
assertEquals(c.getCode(), c.getCode().toUpperCase(), c.name() + " code should be uppercase");
assertEquals(c.name(), c.name().toUpperCase(), c.name() + " enum should be uppercase");
}
}

@Test
public void getCodes() {
void getCodes() {
assertEquals(FiatCurrency.values().length, FiatCurrency.getCodes().size());
assertTrue(FiatCurrency.getCodes().containsAll(Arrays.asList("CZK", "EUR", "USD")));
}
Expand Down
3 changes: 2 additions & 1 deletion dependencySubstitutions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@ substitute module: 'org.bouncycastle:bcprov-jdk15to18', versions: ['1.66'], toVe
substitute module: 'com.fasterxml.jackson.datatype:jackson-datatype-guava', versions: ['2.11.2'], toVersion: '2.12.0'
substitute module: 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8', versions: ['2.11.2'], toVersion: '2.12.0'
substitute module: 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310', versions: ['2.11.2'], toVersion: '2.12.0'

substitute module: 'junit:junit', versions: ['4.13.1'], toVersion: '4.13.2'
substitute module: 'org.junit.jupiter:junit-jupiter-api', versions: ['5.9.1'], toVersion: '5.11.4'
138 changes: 138 additions & 0 deletions gradle/verification-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,35 @@
<sha256 value="c68defdedaaaeae1432e12a5302bf2bfa05057d8b5acc65aaa3f3d9853ff40d6" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="junit" name="junit" version="4.13.2">
<artifact name="junit-4.13.2.jar">
<sha256 value="8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-4.13.2.pom">
<sha256 value="569b6977ee4603c965c1c46c3058fa6e969291b0160eb6964dd092cd89eadd94" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="net.bytebuddy" name="byte-buddy" version="1.12.19">
<artifact name="byte-buddy-1.12.19.jar">
<sha256 value="030704139e46f32c38d27060edee9e0676b0a0fff8a8be53461515154ba8a7be" origin="Generated by Gradle"/>
</artifact>
<artifact name="byte-buddy-1.12.19.pom">
<sha256 value="435fb8664aa9b7e120c8dd6c707d4eafa642fa262dff6d5e3f71dc25c69e89eb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="net.bytebuddy" name="byte-buddy-agent" version="1.12.19">
<artifact name="byte-buddy-agent-1.12.19.jar">
<sha256 value="3a70240de7cdcde04e7c504c2327d7035b9c25ae0206881e3bf4e6798a273ed8" origin="Generated by Gradle"/>
</artifact>
<artifact name="byte-buddy-agent-1.12.19.pom">
<sha256 value="b5a2cff643681de1687fc40acd251feefdfca23e673e049fb3c3692b53526d4b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="net.bytebuddy" name="byte-buddy-parent" version="1.12.19">
<artifact name="byte-buddy-parent-1.12.19.pom">
<sha256 value="72ab6fef409e812921f4728b3c4b6ef4fa53bc25fabb0488fc2cae367368b54d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="net.i2p.crypto" name="eddsa" version="0.3.0">
<artifact name="eddsa-0.3.0.jar">
<sha256 value="4dda1120db856640dbec04140ed23242215a075fe127bdefa0dcfa29fb31267d" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -1729,6 +1758,14 @@
<sha256 value="f6ad3a886760af0903f5252f0000a736d196e3ccad43583c680938cb12fba794" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit" name="junit-bom" version="5.11.4">
<artifact name="junit-bom-5.11.4.module">
<sha256 value="a9a4f27be94e99b9d570162d246a80f686d277d5d31aeb5481047cf51daf46e4" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-bom-5.11.4.pom">
<sha256 value="19d4b747b204805325b6334553296f986562277a4ac1cb5e593a5e4c4f5e4115" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit" name="junit-bom" version="5.6.3">
<artifact name="junit-bom-5.6.3.module">
<sha256 value="f37a30b1a76ae37058ebcaac66b9192a480455f4a8f2f285a35153d0578c8faa" origin="Generated by Gradle"/>
Expand All @@ -1753,6 +1790,54 @@
<sha256 value="0b9b14a3d62106fafe8c68a717b87b87ad18685899451b753c04fa41b6857784" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.jupiter" name="junit-jupiter-api" version="5.11.4">
<artifact name="junit-jupiter-api-5.11.4.jar">
<sha256 value="ab83ef9e51ac4597d59d26b4b58812129550e2f579a404c8af7d09f5ce5b4293" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-jupiter-api-5.11.4.module">
<sha256 value="a6ea2fefb3aa5868fd7a780ae1da1162e76dda3760b48015c2a419d2372ff3cb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.jupiter" name="junit-jupiter-engine" version="5.11.4">
<artifact name="junit-jupiter-engine-5.11.4.jar">
<sha256 value="cdf8ac59f3fad774ca738ad03890950eeb91833ef0e8908753177edd26f1581c" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-jupiter-engine-5.11.4.module">
<sha256 value="db91163a8af005a32798565dd67537725189590deab6da03b31dbdda45686a18" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.jupiter" name="junit-jupiter-params" version="5.11.4">
<artifact name="junit-jupiter-params-5.11.4.jar">
<sha256 value="02a6e015de7ce94ac7f256e7fa05b8091dea861fe79a555a7993313d0f6c7d96" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-jupiter-params-5.11.4.module">
<sha256 value="58865b8b4b998b9ab19c13f8e413b7e1d4819374dd5df69760c4c0b0bc4e9895" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.platform" name="junit-platform-commons" version="1.11.4">
<artifact name="junit-platform-commons-1.11.4.jar">
<sha256 value="9edd969b0d0670c54105bc91ae79bd1c6f503e12115faba82073b84c86bbc334" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-platform-commons-1.11.4.module">
<sha256 value="0b9e2625c8f468b3cd4132cc0a805f89fe41f852d1adfff75f3eb1465ca1cb6b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.platform" name="junit-platform-engine" version="1.11.4">
<artifact name="junit-platform-engine-1.11.4.jar">
<sha256 value="b1dd998f64f9acadc15966d9cd3d08074662677b3e390f0a38fcbf0bb4c72330" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-platform-engine-1.11.4.module">
<sha256 value="bf6ce1fb5951dc6c7de36adeef6aeaf78ef82d63831c5ccebce388da9fc5fe25" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.junit.vintage" name="junit-vintage-engine" version="5.11.4">
<artifact name="junit-vintage-engine-5.11.4.jar">
<sha256 value="19239ff6cbef4b43e51ed5551faf1f2f1083494596ce1dd2c3275e698ccbc023" origin="Generated by Gradle"/>
</artifact>
<artifact name="junit-vintage-engine-5.11.4.module">
<sha256 value="1a0b4f93f373fa618babb1727f73819e407bafe75ebb32f4be1ae7ed3fb12849" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.knowm.xchange" name="xchange-binance" version="5.0.12">
<artifact name="xchange-binance-5.0.12.jar">
<sha256 value="e75bea60daec08ae45b312eff3f01cc01685d96818ae219bd3107db42367cd38" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -1864,6 +1949,51 @@
<sha256 value="04a6645cab0953b1239c692bf3561ca6f90828df33134253dd0e59d950e63dbb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.mockito" name="mockito-core" version="4.11.0">
<artifact name="mockito-core-4.11.0.jar">
<sha256 value="4b909690cab288c761eb94c0bf0e814496cf3921d8affac84cd87774530351e5" origin="Generated by Gradle"/>
</artifact>
<artifact name="mockito-core-4.11.0.pom">
<sha256 value="2bc2e3c8c8b313fdac231f23822225b07831dc899d067072f49d5f8ae37e739a" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.mockito" name="mockito-inline" version="4.11.0">
<artifact name="mockito-inline-4.11.0.jar">
<sha256 value="ee52e1c299a632184fba274a9370993e09140429f5e516e6c5570fd6574b297f" origin="Generated by Gradle"/>
</artifact>
<artifact name="mockito-inline-4.11.0.pom">
<sha256 value="83e63e9c1c688ad0522146b4aa77948c9973ac01829e10336462369561a80344" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.mockito" name="mockito-junit-jupiter" version="4.11.0">
<artifact name="mockito-junit-jupiter-4.11.0.jar">
<sha256 value="f4b3694f60fccc7b520d8aea9b6c827d8e9949b652cad09fce10b546bf3ac537" origin="Generated by Gradle"/>
</artifact>
<artifact name="mockito-junit-jupiter-4.11.0.pom">
<sha256 value="b724ad13e3e450cb022672fe5ca6f1d38d5d7485246a3ff3d278edf9321e3417" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.objenesis" name="objenesis" version="3.3">
<artifact name="objenesis-3.3.jar">
<sha256 value="02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb" origin="Generated by Gradle"/>
</artifact>
<artifact name="objenesis-3.3.pom">
<sha256 value="ba0c40da2669a048b6e24ef7066a471f0fbcbfcc509e6a3e856ca4ddfa614ad3" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.objenesis" name="objenesis-parent" version="3.3">
<artifact name="objenesis-parent-3.3.pom">
<sha256 value="305c384aa2f1e1c7fe53a96da41c3ec35243b97d428d24a8f779818cc10be4ff" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.opentest4j" name="opentest4j" version="1.3.0">
<artifact name="opentest4j-1.3.0.jar">
<sha256 value="48e2df636cab6563ced64dcdff8abb2355627cb236ef0bf37598682ddf742f1b" origin="Generated by Gradle"/>
</artifact>
<artifact name="opentest4j-1.3.0.module">
<sha256 value="48bf1d6c8b5dc94f74652bd17900f654deb714350248cf5e8fca27b9090c8e0d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.ow2" name="ow2" version="1.5">
<artifact name="ow2-1.5.pom">
<sha256 value="0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b" origin="Generated by Gradle"/>
Expand Down Expand Up @@ -1917,6 +2047,14 @@
<sha256 value="70e007423d1e486045febe2ae714da3ca4ca8e6685d7527453b68e0b15a5be6d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.projectlombok" name="lombok" version="1.18.36">
<artifact name="lombok-1.18.36.jar">
<sha256 value="73b6b05b6a2d365b700bab08d30f94de9d336490bc0acce5b6181fef48cbf18e" origin="Generated by Gradle"/>
</artifact>
<artifact name="lombok-1.18.36.pom">
<sha256 value="89a21d25876c8562c14a10f1b21efbfcce9d53b058686b8285fea2276c53290e" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.reactivestreams" name="reactive-streams" version="1.0.2">
<artifact name="reactive-streams-1.0.2.jar">
<sha256 value="cc09ab0b140e0d0496c2165d4b32ce24f4d6446c0a26c5dc77b06bdf99ee8fae" origin="Generated by Gradle"/>
Expand Down
11 changes: 10 additions & 1 deletion server_extensions_api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ dependencies {
implementation("com.sun.mail:javax.mail:1.6.2")
implementation("com.vdurmont:emoji-java:3.1.3") //for chat emojis

testImplementation("junit:junit:4.13.1")
// keeping junit 4 for compatibility, will be removed soon, use junit 5 instead
testImplementation("junit:junit:4.13.2")
testImplementation("org.junit.vintage:junit-vintage-engine:5.11.4")

testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4")
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.11.4")
testImplementation("org.assertj:assertj-core:3.19.0")
}

test {
useJUnitPlatform()
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.generalbytes.batm.server.extensions.communication.IPhoneLookupProvider;
import com.generalbytes.batm.server.extensions.communication.voicecall.IVoiceCallProvider;
import com.generalbytes.batm.server.extensions.travelrule.ITravelRuleProvider;
import com.generalbytes.batm.server.extensions.travelrule.ITravelRuleProviderFactory;
import com.generalbytes.batm.server.extensions.travelrule.IWalletTypeEvaluationProvider;
import com.generalbytes.batm.server.extensions.watchlist.IWatchList;

Expand Down Expand Up @@ -190,10 +191,15 @@ public interface IExtension {
Set<IVoiceCallProvider> getVoiceCallProviders();

/**
* Returns set of external Travel Rule Providers.
* @return {@link Set} of {@link ITravelRuleProvider}.
* Returns the list of all Travel Rule Provider Factories.
* <p>
* Each factory is responsible for creating instance of {@link ITravelRuleProvider} based on the implementation.
*
* @return Set of all Travel Rule Provider Factories.
*/
default Set<ITravelRuleProvider> getTravelRuleProviders() { return Collections.emptySet(); }
default Set<ITravelRuleProviderFactory> getTravelRuleProviderFactories() {
return Collections.emptySet();
}

/**
* @return Validators that can be used to validate SSNs
Expand Down
Loading