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
Branches
Tags
No related merge requests found
Showing with 48 additions and 28 deletions
...@@ -77,3 +77,11 @@ Easily start your Reactive RESTful Web Services ...@@ -77,3 +77,11 @@ Easily start your Reactive RESTful Web Services
Monitor your application's health using SmallRye Health Monitor your application's health using SmallRye Health
[Related guide section...](https://quarkus.io/guides/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; ...@@ -3,10 +3,9 @@ package de.itvsh.kop.user;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import org.bson.codecs.pojo.annotations.BsonId;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import io.quarkus.mongodb.panache.PanacheMongoEntity;
import io.quarkus.mongodb.panache.common.MongoEntity;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
...@@ -19,15 +18,16 @@ import lombok.ToString; ...@@ -19,15 +18,16 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
@Setter @Setter
@MongoEntity
@ToString @ToString
public class User extends PanacheMongoEntity { public class User {
public static final String EXTERNAL_ID_FIELD = "externalId"; public static final String EXTERNAL_ID_FIELD = "externalId";
public static final String EMAIL_FIELD = "email"; public static final String EMAIL_FIELD = "email";
public static final String DELETED_FIELD = "deleted"; public static final String DELETED_FIELD = "deleted";
public static final String LAST_SYNC_TIMESTAMP_FIELD = "lastSyncTimestamp"; public static final String LAST_SYNC_TIMESTAMP_FIELD = "lastSyncTimestamp";
@BsonId
private ObjectId id;
private String externalId; private String externalId;
private String firstName; private String firstName;
private String lastName; private String lastName;
...@@ -42,12 +42,4 @@ public class User extends PanacheMongoEntity { ...@@ -42,12 +42,4 @@ public class User extends PanacheMongoEntity {
public String getFullName() { public String getFullName() {
return String.format("%s %s", firstName, lastName); 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; ...@@ -9,7 +9,7 @@ import javax.inject.Inject;
public class UserService { public class UserService {
@Inject @Inject
private UserRepository repository; UserRepository repository;
public void save(User user) { public void save(User user) {
findUser(user).ifPresentOrElse(persistedUser -> repository.update(addIdUser(user, persistedUser)), findUser(user).ifPresentOrElse(persistedUser -> repository.update(addIdUser(user, persistedUser)),
......
...@@ -24,14 +24,14 @@ import de.itvsh.kop.user.common.errorhandling.KeycloakUnavailableException; ...@@ -24,14 +24,14 @@ import de.itvsh.kop.user.common.errorhandling.KeycloakUnavailableException;
class KeycloakApiService { class KeycloakApiService {
@Inject @Inject
private RealmResource realmResource; RealmResource realmResource;
@Inject @Inject
private UserResourceMapper mapper; UserResourceMapper mapper;
@Inject @Inject
private KeycloakApiProperties properties; KeycloakApiProperties properties;
@ConfigProperty(name = "keycloak.url") @ConfigProperty(name = "keycloak.url")
private String keycloakUrl; String keycloakUrl;
public Stream<User> findAllUser() { public Stream<User> findAllUser() {
return handlingKeycloakException(() -> getAllUserRepresentation().map(this::toUser)); return handlingKeycloakException(() -> getAllUserRepresentation().map(this::toUser));
......
...@@ -8,19 +8,18 @@ import org.keycloak.admin.client.Keycloak; ...@@ -8,19 +8,18 @@ import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder; import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.admin.client.resource.RealmResource; import org.keycloak.admin.client.resource.RealmResource;
// TODO Test
public class KeycloakProvider { public class KeycloakProvider {
private static final String CLIENT = "admin-cli"; private static final String CLIENT = "admin-cli";
@Inject @Inject
private KeycloakApiProperties keycloakConfiguration; KeycloakApiProperties keycloakConfiguration;
@ConfigProperty(name = "keycloak.url") @ConfigProperty(name = "keycloak.url")
private String keycloakUrl; String keycloakUrl;
@ApplicationScoped @ApplicationScoped
private RealmResource provide() { RealmResource provide() {
return buildKeycloakInstance().realm(keycloakConfiguration.realm()); return buildKeycloakInstance().realm(keycloakConfiguration.realm());
} }
......
...@@ -11,7 +11,7 @@ import de.itvsh.kop.user.User; ...@@ -11,7 +11,7 @@ import de.itvsh.kop.user.User;
public class KeycloakUserRemoteService { public class KeycloakUserRemoteService {
@Inject @Inject
private KeycloakApiService apiService; KeycloakApiService apiService;
public Stream<User> getAllUsers() { public Stream<User> getAllUsers() {
return apiService.findAllUser(); return apiService.findAllUser();
......
...@@ -17,11 +17,11 @@ import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService; ...@@ -17,11 +17,11 @@ import de.itvsh.kop.user.keycloak.KeycloakUserRemoteService;
class UserServiceTest { class UserServiceTest {
@InjectMocks @InjectMocks
private UserService service; UserService service;
@Mock @Mock
private UserRepository repository; UserRepository repository;
@Mock @Mock
private KeycloakUserRemoteService keycloakRemoteService; KeycloakUserRemoteService keycloakRemoteService;
@DisplayName("Save") @DisplayName("Save")
@Nested @Nested
......
...@@ -14,7 +14,7 @@ import io.quarkus.test.junit.TestProfile; ...@@ -14,7 +14,7 @@ import io.quarkus.test.junit.TestProfile;
class KeycloakApiServiceITCase { class KeycloakApiServiceITCase {
@Inject @Inject
private KeycloakApiService service; KeycloakApiService service;
@Test @Test
void shouldGetAllUsers() { 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; ...@@ -12,9 +12,9 @@ import io.quarkus.test.junit.mockito.InjectSpy;
class KeycloakUserRemoteServiceITCase { class KeycloakUserRemoteServiceITCase {
@InjectSpy @InjectSpy
private KeycloakUserRemoteService service; KeycloakUserRemoteService service;
@InjectMock @InjectMock
private KeycloakApiService apiService; KeycloakApiService apiService;
@Test @Test
void shouldCallGetAllUsers() { void shouldCallGetAllUsers() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment