Skip to content
Snippets Groups Projects
Commit 0b1767e1 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-2653 Injected field package-private gemacht

parent 10afd883
No related branches found
No related tags found
No related merge requests found
Showing with 48 additions and 28 deletions
......@@ -77,3 +77,11 @@ Easily start your Reactive RESTful Web Services
Monitor your application's health using SmallRye Health
[Related guide section...](https://quarkus.io/guides/smallrye-health)
## Best parctice
### User package-private fields for injected fields
This involves injection fields, constructors and initializers, observer methods, producer methods and fields, disposers and interceptor methods.
[See section 2 of quarkus guide ](https://quarkus.io/guides/cdi-reference#native-executables-and-private-members)
......@@ -3,10 +3,9 @@ package de.itvsh.kop.user;
import java.util.Collection;
import java.util.Date;
import org.bson.codecs.pojo.annotations.BsonId;
import org.bson.types.ObjectId;
import io.quarkus.mongodb.panache.PanacheMongoEntity;
import io.quarkus.mongodb.panache.common.MongoEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
......@@ -19,15 +18,16 @@ import lombok.ToString;
@AllArgsConstructor
@Getter
@Setter
@MongoEntity
@ToString
public class User extends PanacheMongoEntity {
public class User {
public static final String EXTERNAL_ID_FIELD = "externalId";
public static final String EMAIL_FIELD = "email";
public static final String DELETED_FIELD = "deleted";
public static final String LAST_SYNC_TIMESTAMP_FIELD = "lastSyncTimestamp";
@BsonId
private ObjectId id;
private String externalId;
private String firstName;
private String lastName;
......@@ -42,12 +42,4 @@ public class User extends PanacheMongoEntity {
public String getFullName() {
return String.format("%s %s", firstName, lastName);
}
public ObjectId getId() {
return super.id;
}
public void setId(ObjectId id) {
super.id = id;
}
}
\ No newline at end of file
......@@ -9,7 +9,7 @@ import javax.inject.Inject;
public class UserService {
@Inject
private UserRepository repository;
UserRepository repository;
public void save(User user) {
findUser(user).ifPresentOrElse(persistedUser -> repository.update(addIdUser(user, persistedUser)),
......
......@@ -24,14 +24,14 @@ import de.itvsh.kop.user.common.errorhandling.KeycloakUnavailableException;
class KeycloakApiService {
@Inject
private RealmResource realmResource;
RealmResource realmResource;
@Inject
private UserResourceMapper mapper;
UserResourceMapper mapper;
@Inject
private KeycloakApiProperties properties;
KeycloakApiProperties properties;
@ConfigProperty(name = "keycloak.url")
private String keycloakUrl;
String keycloakUrl;
public Stream<User> findAllUser() {
return handlingKeycloakException(() -> getAllUserRepresentation().map(this::toUser));
......
......@@ -8,19 +8,18 @@ import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.admin.client.resource.RealmResource;
// TODO Test
public class KeycloakProvider {
private static final String CLIENT = "admin-cli";
@Inject
private KeycloakApiProperties keycloakConfiguration;
KeycloakApiProperties keycloakConfiguration;
@ConfigProperty(name = "keycloak.url")
private String keycloakUrl;
String keycloakUrl;
@ApplicationScoped
private RealmResource provide() {
RealmResource provide() {
return buildKeycloakInstance().realm(keycloakConfiguration.realm());
}
......
......@@ -11,7 +11,7 @@ import de.itvsh.kop.user.User;
public class KeycloakUserRemoteService {
@Inject
private KeycloakApiService apiService;
KeycloakApiService apiService;
public Stream<User> getAllUsers() {
return apiService.findAllUser();
......
......@@ -17,11 +17,11 @@ import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
class UserServiceTest {
@InjectMocks
private UserService service;
UserService service;
@Mock
private UserRepository repository;
UserRepository repository;
@Mock
private KeycloakUserRemoteService keycloakRemoteService;
KeycloakUserRemoteService keycloakRemoteService;
@DisplayName("Save")
@Nested
......
......@@ -14,7 +14,7 @@ import io.quarkus.test.junit.TestProfile;
class KeycloakApiServiceITCase {
@Inject
private KeycloakApiService service;
KeycloakApiService service;
@Test
void shouldGetAllUsers() {
......
package de.itvsh.kop.user.keycloak;
import static org.assertj.core.api.Assertions.*;
import javax.inject.Inject;
import org.junit.jupiter.api.Test;
import org.keycloak.admin.client.resource.RealmResource;
import io.quarkus.test.junit.QuarkusTest;
@QuarkusTest
class KeycloakProviderITCase {
@Inject
RealmResource realm;
@Test
void shouldHaveRealmResource() {
assertThat(realm).isNotNull();
}
}
......@@ -12,9 +12,9 @@ import io.quarkus.test.junit.mockito.InjectSpy;
class KeycloakUserRemoteServiceITCase {
@InjectSpy
private KeycloakUserRemoteService service;
KeycloakUserRemoteService service;
@InjectMock
private KeycloakApiService apiService;
KeycloakApiService apiService;
@Test
void shouldCallGetAllUsers() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment