Compare commits
5 Commits
all-contri
...
broken-lin
Author | SHA1 | Date | |
---|---|---|---|
81f9291e76 | |||
58c0008b75 | |||
bc7040566e | |||
bb49e3c4e9 | |||
842b400fee |
@ -1586,24 +1586,6 @@
|
|||||||
"contributions": [
|
"contributions": [
|
||||||
"code"
|
"code"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"login": "tan31989",
|
|
||||||
"name": "Nagaraj Tantri",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/3784194?v=4",
|
|
||||||
"profile": "https://stackoverflow.com/users/308565/nagaraj-tantri",
|
|
||||||
"contributions": [
|
|
||||||
"code"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"login": "frascu",
|
|
||||||
"name": "Francesco Scuccimarri",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/7107651?v=4",
|
|
||||||
"profile": "http://scuccimarri.it",
|
|
||||||
"contributions": [
|
|
||||||
"code"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"contributorsPerLine": 4,
|
"contributorsPerLine": 4,
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
||||||
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||||
[](#contributors-)
|
[](#contributors-)
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
@ -336,8 +336,6 @@ This project is licensed under the terms of the MIT license.
|
|||||||
<tr>
|
<tr>
|
||||||
<td align="center"><a href="https://github.com/karthikbhat13"><img src="https://avatars.githubusercontent.com/u/22431014?v=4?s=100" width="100px;" alt=""/><br /><sub><b>karthikbhat13</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=karthikbhat13" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/karthikbhat13"><img src="https://avatars.githubusercontent.com/u/22431014?v=4?s=100" width="100px;" alt=""/><br /><sub><b>karthikbhat13</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=karthikbhat13" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://github.com/mortezaadi"><img src="https://avatars.githubusercontent.com/u/1329687?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Morteza Adigozalpour</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=mortezaadi" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/mortezaadi"><img src="https://avatars.githubusercontent.com/u/1329687?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Morteza Adigozalpour</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=mortezaadi" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://stackoverflow.com/users/308565/nagaraj-tantri"><img src="https://avatars.githubusercontent.com/u/3784194?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nagaraj Tantri</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=tan31989" title="Code">💻</a></td>
|
|
||||||
<td align="center"><a href="http://scuccimarri.it"><img src="https://avatars.githubusercontent.com/u/7107651?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Francesco Scuccimarri</b></sub></a><br /><a href="https://github.com/iluwatar/java-design-patterns/commits?author=frascu" title="Code">💻</a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ class AggregatorTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setup() {
|
public void setup() {
|
||||||
MockitoAnnotations.openMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,7 +48,7 @@ class ApiGatewayTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setup() {
|
public void setup() {
|
||||||
MockitoAnnotations.openMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,7 +68,7 @@ class ThreadAsyncExecutorTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
MockitoAnnotations.openMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,7 +46,7 @@ class DataBusTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
MockitoAnnotations.openMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -48,7 +48,7 @@ que lorsqu’ils sont nécessaires pour une extensibilité pratique.
|
|||||||
|
|
||||||
Une fois que vous êtes familiarisé avec ces concepts, vous pouvez commencer à explorer les
|
Une fois que vous êtes familiarisé avec ces concepts, vous pouvez commencer à explorer les
|
||||||
[modèles de conception disponibles](https://java-design-patterns.com/patterns/)
|
[modèles de conception disponibles](https://java-design-patterns.com/patterns/)
|
||||||
par n’importe laquelle des approches suivantes :
|
par n’importe laquelle les approches suivantes :
|
||||||
|
|
||||||
- Recherchez un modèle spécifique par son nom.
|
- Recherchez un modèle spécifique par son nom.
|
||||||
Vous n’en trouvez pas ? Veuillez signaler un nouveau modèle [ici](https://github.com/iluwatar/java-design-patterns/issues).
|
Vous n’en trouvez pas ? Veuillez signaler un nouveau modèle [ici](https://github.com/iluwatar/java-design-patterns/issues).
|
||||||
|
6
pom.xml
6
pom.xml
@ -62,7 +62,7 @@
|
|||||||
<slf4j.version>1.7.30</slf4j.version>
|
<slf4j.version>1.7.30</slf4j.version>
|
||||||
<logback.version>1.2.3</logback.version>
|
<logback.version>1.2.3</logback.version>
|
||||||
<aws-lambda-core.version>1.1.0</aws-lambda-core.version>
|
<aws-lambda-core.version>1.1.0</aws-lambda-core.version>
|
||||||
<aws-java-sdk-dynamodb.version>1.12.13</aws-java-sdk-dynamodb.version>
|
<aws-java-sdk-dynamodb.version>1.11.289</aws-java-sdk-dynamodb.version>
|
||||||
<aws-lambda-java-events.version>2.0.1</aws-lambda-java-events.version>
|
<aws-lambda-java-events.version>2.0.1</aws-lambda-java-events.version>
|
||||||
<jackson.version>2.12.3</jackson.version>
|
<jackson.version>2.12.3</jackson.version>
|
||||||
<jaxb-api.version>2.3.1</jaxb-api.version>
|
<jaxb-api.version>2.3.1</jaxb-api.version>
|
||||||
@ -71,8 +71,8 @@
|
|||||||
<system-lambda.version>1.1.0</system-lambda.version>
|
<system-lambda.version>1.1.0</system-lambda.version>
|
||||||
<urm.version>2.0.0</urm.version>
|
<urm.version>2.0.0</urm.version>
|
||||||
<mockito-junit-jupiter.version>3.5.0</mockito-junit-jupiter.version>
|
<mockito-junit-jupiter.version>3.5.0</mockito-junit-jupiter.version>
|
||||||
<lombok.version>1.18.20</lombok.version>
|
<lombok.version>1.18.14</lombok.version>
|
||||||
<byte-buddy.version>1.11.5</byte-buddy.version>
|
<byte-buddy.version>1.10.21</byte-buddy.version>
|
||||||
<javassist.version>3.27.0-GA</javassist.version>
|
<javassist.version>3.27.0-GA</javassist.version>
|
||||||
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
||||||
<maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version>
|
<maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version>
|
||||||
|
@ -44,6 +44,16 @@
|
|||||||
<groupId>com.amazonaws</groupId>
|
<groupId>com.amazonaws</groupId>
|
||||||
<artifactId>aws-java-sdk-dynamodb</artifactId>
|
<artifactId>aws-java-sdk-dynamodb</artifactId>
|
||||||
<version>${aws-java-sdk-dynamodb.version}</version>
|
<version>${aws-java-sdk-dynamodb.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.amazonaws</groupId>
|
||||||
|
<artifactId>aws-java-sdk-s3</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.amazonaws</groupId>
|
||||||
|
<artifactId>aws-java-sdk-kms</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.amazonaws</groupId>
|
<groupId>com.amazonaws</groupId>
|
||||||
@ -70,15 +80,15 @@
|
|||||||
<artifactId>junit-jupiter-engine</artifactId>
|
<artifactId>junit-jupiter-engine</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.mockito</groupId>
|
|
||||||
<artifactId>mockito-core</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.hamcrest</groupId>
|
<groupId>org.mockito</groupId>
|
||||||
<artifactId>hamcrest-core</artifactId>
|
<artifactId>mockito-core</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -23,9 +23,6 @@
|
|||||||
|
|
||||||
package com.iluwatar.serverless.baas.api;
|
package com.iluwatar.serverless.baas.api;
|
||||||
|
|
||||||
import org.mockito.Mock;
|
|
||||||
import org.mockito.MockitoAnnotations;
|
|
||||||
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@ -35,29 +32,31 @@ import com.amazonaws.services.lambda.runtime.Context;
|
|||||||
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
|
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
|
||||||
import com.iluwatar.serverless.baas.model.Person;
|
import com.iluwatar.serverless.baas.model.Person;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.Before;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for FindPersonApiHandler Created by dheeraj.mummar on 3/5/18.
|
* Unit tests for FindPersonApiHandler Created by dheeraj.mummar on 3/5/18.
|
||||||
*/
|
*/
|
||||||
class FindPersonApiHandlerTest {
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
|
public class FindPersonApiHandlerTest {
|
||||||
|
|
||||||
private FindPersonApiHandler findPersonApiHandler;
|
private FindPersonApiHandler findPersonApiHandler;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private DynamoDBMapper dynamoDbMapper;
|
private DynamoDBMapper dynamoDbMapper;
|
||||||
|
|
||||||
@BeforeEach
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.openMocks(this);
|
|
||||||
this.findPersonApiHandler = new FindPersonApiHandler();
|
this.findPersonApiHandler = new FindPersonApiHandler();
|
||||||
this.findPersonApiHandler.setDynamoDbMapper(dynamoDbMapper);
|
this.findPersonApiHandler.setDynamoDbMapper(dynamoDbMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void handleRequest() {
|
public void handleRequest() {
|
||||||
findPersonApiHandler.handleRequest(apiGatewayProxyRequestEvent(), mock(Context.class));
|
findPersonApiHandler.handleRequest(apiGatewayProxyRequestEvent(), mock(Context.class));
|
||||||
verify(dynamoDbMapper, times(1)).load(Person.class, "37e7a1fe-3544-473d-b764-18128f02d72d");
|
verify(dynamoDbMapper, times(1)).load(Person.class, "37e7a1fe-3544-473d-b764-18128f02d72d");
|
||||||
}
|
}
|
||||||
|
@ -34,18 +34,18 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.iluwatar.serverless.baas.model.Address;
|
import com.iluwatar.serverless.baas.model.Address;
|
||||||
import com.iluwatar.serverless.baas.model.Person;
|
import com.iluwatar.serverless.baas.model.Person;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.Assert;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unit tests for SavePersonApiHandler Created by dheeraj.mummar on 3/4/18.
|
* Unit tests for SavePersonApiHandler Created by dheeraj.mummar on 3/4/18.
|
||||||
*/
|
*/
|
||||||
class SavePersonApiHandlerTest {
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
|
public class SavePersonApiHandlerTest {
|
||||||
|
|
||||||
private SavePersonApiHandler savePersonApiHandler;
|
private SavePersonApiHandler savePersonApiHandler;
|
||||||
|
|
||||||
@ -54,32 +54,31 @@ class SavePersonApiHandlerTest {
|
|||||||
|
|
||||||
private final ObjectMapper objectMapper = new ObjectMapper();
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
|
||||||
@BeforeEach
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.openMocks(this);
|
|
||||||
this.savePersonApiHandler = new SavePersonApiHandler();
|
this.savePersonApiHandler = new SavePersonApiHandler();
|
||||||
this.savePersonApiHandler.setDynamoDbMapper(dynamoDbMapper);
|
this.savePersonApiHandler.setDynamoDbMapper(dynamoDbMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void handleRequestSavePersonSuccessful() throws JsonProcessingException {
|
public void handleRequestSavePersonSuccessful() throws JsonProcessingException {
|
||||||
var person = newPerson();
|
var person = newPerson();
|
||||||
var body = objectMapper.writeValueAsString(person);
|
var body = objectMapper.writeValueAsString(person);
|
||||||
var request = apiGatewayProxyRequestEvent(body);
|
var request = apiGatewayProxyRequestEvent(body);
|
||||||
var ctx = mock(Context.class);
|
var ctx = mock(Context.class);
|
||||||
var apiGatewayProxyResponseEvent = this.savePersonApiHandler.handleRequest(request, ctx);
|
var apiGatewayProxyResponseEvent = this.savePersonApiHandler.handleRequest(request, ctx);
|
||||||
verify(dynamoDbMapper, times(1)).save(person);
|
verify(dynamoDbMapper, times(1)).save(person);
|
||||||
assertNotNull(apiGatewayProxyResponseEvent);
|
Assert.assertNotNull(apiGatewayProxyResponseEvent);
|
||||||
assertEquals(Integer.valueOf(201), apiGatewayProxyResponseEvent.getStatusCode());
|
Assert.assertEquals(Integer.valueOf(201), apiGatewayProxyResponseEvent.getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void handleRequestSavePersonException() {
|
public void handleRequestSavePersonException() {
|
||||||
var request = apiGatewayProxyRequestEvent("invalid sample request");
|
var request = apiGatewayProxyRequestEvent("invalid sample request");
|
||||||
var ctx = mock(Context.class);
|
var ctx = mock(Context.class);
|
||||||
var apiGatewayProxyResponseEvent = this.savePersonApiHandler.handleRequest(request, ctx);
|
var apiGatewayProxyResponseEvent = this.savePersonApiHandler.handleRequest(request, ctx);
|
||||||
assertNotNull(apiGatewayProxyResponseEvent);
|
Assert.assertNotNull(apiGatewayProxyResponseEvent);
|
||||||
assertEquals(Integer.valueOf(400), apiGatewayProxyResponseEvent.getStatusCode());
|
Assert.assertEquals(Integer.valueOf(400), apiGatewayProxyResponseEvent.getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
private APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent(String body) {
|
private APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent(String body) {
|
||||||
|
Reference in New Issue
Block a user