Skip to content

Commit 7490ce9

Browse files
committed
changed version of of springboot to 2.7
springboot rollback because of bugs with WireMock
1 parent 7e2c639 commit 7490ce9

File tree

12 files changed

+40
-29
lines changed

12 files changed

+40
-29
lines changed

build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id 'java'
3-
id 'org.springframework.boot' version '3.0.6'
4-
id 'io.spring.dependency-management' version '1.1.0'
3+
id 'org.springframework.boot' version '2.7.11'
4+
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
55
}
66

77
group = 'pl.pawelosinski'
@@ -14,9 +14,10 @@ repositories {
1414

1515
dependencies {
1616
implementation 'org.springframework.boot:spring-boot-starter-web'
17+
1718
testImplementation 'org.springframework.boot:spring-boot-starter-test'
18-
testImplementation "com.github.tomakehurst:wiremock-jre8:2.35.0"
19-
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
19+
testImplementation 'com.github.tomakehurst:wiremock:2.27.2'
20+
testImplementation 'junit:junit:4.13.2'
2021
}
2122

2223
tasks.named('test') {

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
rootProject.name = 'dynatrace.nbp.task'
1+
rootProject.name = 'dynatrace.nbp.task.backend'

src/main/java/pl/pawelosinski/dynatrace/nbp/task/controller/CurrencyController.java renamed to src/main/java/pl/pawelosinski/dynatrace/nbp/task/backend/controller/CurrencyController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.controller;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.controller;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.http.ResponseEntity;
@@ -7,10 +7,10 @@
77
import org.springframework.web.bind.annotation.RequestParam;
88
import org.springframework.web.bind.annotation.RestController;
99
import org.springframework.web.client.HttpClientErrorException;
10-
import pl.pawelosinski.dynatrace.nbp.task.model.CurrencyRateTable;
11-
import pl.pawelosinski.dynatrace.nbp.task.model.MinMaxRate;
12-
import pl.pawelosinski.dynatrace.nbp.task.model.Rate;
13-
import pl.pawelosinski.dynatrace.nbp.task.service.CurrencyService;
10+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.CurrencyRateTable;
11+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.MinMaxRate;
12+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.Rate;
13+
import pl.pawelosinski.dynatrace.nbp.task.backend.service.CurrencyService;
1414

1515
import java.util.Optional;
1616

src/main/java/pl/pawelosinski/dynatrace/nbp/task/model/CurrencyRateTable.java renamed to src/main/java/pl/pawelosinski/dynatrace/nbp/task/backend/model/CurrencyRateTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.model;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.model;
22

33
import java.util.List;
44

src/main/java/pl/pawelosinski/dynatrace/nbp/task/model/MinMaxRate.java renamed to src/main/java/pl/pawelosinski/dynatrace/nbp/task/backend/model/MinMaxRate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.model;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.model;
22

33
public class MinMaxRate {
44
private Rate min;

src/main/java/pl/pawelosinski/dynatrace/nbp/task/model/Rate.java renamed to src/main/java/pl/pawelosinski/dynatrace/nbp/task/backend/model/Rate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.model;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.model;
22

33
public class Rate {
44
private String no;

src/main/java/pl/pawelosinski/dynatrace/nbp/task/service/CurrencyService.java renamed to src/main/java/pl/pawelosinski/dynatrace/nbp/task/backend/service/CurrencyService.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.service;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.service;
22

33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.boot.web.client.RestTemplateBuilder;
5-
import org.springframework.http.ResponseEntity;
65
import org.springframework.stereotype.Service;
7-
import org.springframework.web.client.HttpClientErrorException;
86
import org.springframework.web.client.RestTemplate;
9-
import pl.pawelosinski.dynatrace.nbp.task.model.CurrencyRateTable;
10-
import pl.pawelosinski.dynatrace.nbp.task.model.MinMaxRate;
11-
import pl.pawelosinski.dynatrace.nbp.task.model.Rate;
7+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.CurrencyRateTable;
8+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.MinMaxRate;
9+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.Rate;
1210

1311
import java.util.Comparator;
1412
import java.util.List;
1513
import java.util.Optional;
1614

1715
import static java.lang.Math.abs;
18-
import static org.springframework.http.HttpStatus.BAD_REQUEST;
19-
import static org.springframework.http.HttpStatus.NOT_FOUND;
2016

2117
@Service
2218
public class CurrencyService {
@@ -31,6 +27,7 @@ public CurrencyService(RestTemplateBuilder builder) {
3127
public CurrencyRateTable getRateFromDay(String currency, String date) throws Exception {
3228
CurrencyRateTable currencyRateTable;
3329
String url = "http://api.nbp.pl/api/exchangerates/rates/a/" + currency + "/" + date + "/?format=json";
30+
System.out.println(url);
3431

3532
currencyRateTable = restTemplate.getForObject(url, CurrencyRateTable.class);
3633
if (currencyRateTable == null) {

src/test/java/pl/pawelosinski/dynatrace/nbp/task/ApplicationTests.java renamed to src/test/java/pl/pawelosinski/dynatrace/nbp/task/backend/ApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package pl.pawelosinski.dynatrace.nbp.task;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend;
22

33
import org.junit.jupiter.api.Test;
44
import org.springframework.boot.test.context.SpringBootTest;

src/test/java/pl/pawelosinski/dynatrace/nbp/task/service/CurrencyServiceTests.java renamed to src/test/java/pl/pawelosinski/dynatrace/nbp/task/backend/service/CurrencyServiceTests.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
1-
package pl.pawelosinski.dynatrace.nbp.task.service;
1+
package pl.pawelosinski.dynatrace.nbp.task.backend.service;
22

33
import com.github.tomakehurst.wiremock.WireMockServer;
4+
import com.github.tomakehurst.wiremock.junit.WireMockRule;
5+
import org.junit.Rule;
46
import org.junit.jupiter.api.*;
7+
import org.junit.runner.RunWith;
58
import org.springframework.beans.factory.annotation.Autowired;
69
import org.springframework.boot.test.context.SpringBootTest;
710
import org.springframework.boot.test.web.client.TestRestTemplate;
11+
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
12+
import org.springframework.test.context.web.WebAppConfiguration;
13+
import org.springframework.test.web.servlet.MockMvc;
14+
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
815
import org.springframework.web.client.HttpClientErrorException;
9-
import pl.pawelosinski.dynatrace.nbp.task.model.CurrencyRateTable;
16+
import org.springframework.web.context.WebApplicationContext;
17+
import pl.pawelosinski.dynatrace.nbp.task.backend.model.CurrencyRateTable;
1018

1119
import static com.github.tomakehurst.wiremock.client.WireMock.*;
12-
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.Assert.assertEquals;
1321
import static org.junit.jupiter.api.Assertions.assertThrows;
1422

23+
@RunWith(SpringJUnit4ClassRunner.class)
1524
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
1625
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
1726
public class CurrencyServiceTests {
@@ -22,14 +31,14 @@ public class CurrencyServiceTests {
2231
@Autowired
2332
private TestRestTemplate restTemplate;
2433

25-
26-
public WireMockServer wireMockServer = new WireMockServer(8123);
34+
private final WireMockServer wireMockServer = new WireMockServer(8080);
2735

2836
@BeforeAll
2937
void startWireMock() {
3038
wireMockServer.start();
3139
}
3240

41+
3342
@AfterEach
3443
protected void clearAfterEach() {
3544
wireMockServer.resetMappings();
@@ -44,9 +53,11 @@ void stopWireMock() {
4453
@Test
4554
public void shouldGetRateFromDay() throws Exception {
4655
// given
47-
String currency = "GBP";
56+
String currency = "gbp";
4857
String date = "2012-01-02";
4958

59+
configureFor("localhost", 8080);
60+
5061
stubFor(get(urlPathEqualTo("http://api.nbp.pl/api/exchangerates/rates/a/gbp/2012-01-02/?format=json"))
5162
.willReturn(aResponse()
5263
.withHeader("Content-Type", "application/json")
@@ -55,6 +66,8 @@ public void shouldGetRateFromDay() throws Exception {
5566
// when
5667
CurrencyRateTable result = currencyService.getRateFromDay(currency, date);
5768

69+
System.out.println(result.getCurrency());
70+
5871
// then
5972
assertEquals(1, result.getRates().size());
6073
assertEquals("GBP", result.getCode());

src/test/resources/__files/fromDay.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/test/resources/fromDay.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"table":"A","currency":"funtt szterling","code":"GBBP","rates":[{"no":"1/A/NBP/2012","effectiveDate":"2012-01-02","mid":5.348,"bid":0.0,"ask":0.0}]}

0 commit comments

Comments
 (0)