@@ -0,0 +1,1562 @@
+package com.currencycloud.client;%0A%0A%0Aimport org.junit.Test;%0A%0Aimport static org.hamcrest.CoreMatchers.containsString;%0Aimport static org.hamcrest.MatcherAssert.assertThat;%0A%0Apublic class CurrencyCloudClientSessionTest %7B%0A%0A    @Test%0A    public void testRaisesAnErrorIfTheEnvironmentIsNotSet() throws Exception %7B%0A        try %7B%0A            CurrencyCloudClient client = new CurrencyCloudClient((CurrencyCloudClient.Environment) null, null, null);%0A            client.authenticate();%0A            throw new AssertionError(%22Should have failed.%22);%0A        %7D catch (NullPointerException ignored) %7B %7D%0A    %7D%0A%0A    @Test%0A    public void testRaisesAnErrorIfTheLoginIdIsNotSet() throws Exception %7B%0A        CurrencyCloudClient client = new CurrencyCloudClient(CurrencyCloudClient.Environment.demo, null, null);%0A        try %7B%0A            client.authenticate();%0A            throw new AssertionError(%22Should have failed.%22);%0A        %7D catch (IllegalArgumentException e) %7B%0A            assertThat(e.getMessage(), containsString(%22apiKey must be set%22));%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void testRaisesAnErrorIfTheApiKeyIsNotSet() throws Exception %7B%0A        CurrencyCloudClient client = new CurrencyCloudClient(CurrencyCloudClient.Environment.demo, %22test@example.com%22, null);%0A        try %7B%0A            client.authenticate();%0A            throw new AssertionError(%22Should have failed.%22);%0A        %7D catch (IllegalArgumentException e) %7B%0A            assertThat(e.getMessage(), containsString(%22apiKey%22));%0A            assertThat(e.getMessage(), containsString(%22must be set%22));%0A        %7D%0A    %7D%0A%7D

Test create client