Skip to content

Commit 5a41eee

Browse files
committed
test + prod docker compose
1 parent acfb799 commit 5a41eee

File tree

24 files changed

+586
-403
lines changed

24 files changed

+586
-403
lines changed

core/core-persistence/core-persistence-api/src/main/java/ai/wanaku/core/persistence/WanakuMarshallerService.java

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import com.fasterxml.jackson.core.JsonProcessingException;
55
import com.fasterxml.jackson.databind.DeserializationFeature;
66
import com.fasterxml.jackson.databind.ObjectMapper;
7+
import jakarta.enterprise.context.ApplicationScoped;
8+
import jakarta.enterprise.inject.Default;
79

810
import java.util.ArrayList;
911
import java.util.List;
@@ -12,6 +14,8 @@
1214
* Service class responsible for marshalling and unmarshalling objects to and from JSON format.
1315
* This class provides functionality to convert Java objects to JSON strings and vice versa.
1416
*/
17+
@ApplicationScoped
18+
@Default
1519
public class WanakuMarshallerService {
1620

1721
private ObjectMapper mapper;

core/core-persistence/core-persistence-api/src/main/java/ai/wanaku/core/persistence/api/ServiceRepository.java

-76
This file was deleted.

core/core-persistence/core-persistence-api/src/main/java/ai/wanaku/core/persistence/types/ConfigurationEntity.java

-32
This file was deleted.

core/core-persistence/core-persistence-file/src/main/java/ai/wanaku/core/persistence/file/FilePersistenceConfiguration.java

+5-12
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,16 @@
33
import ai.wanaku.core.mcp.providers.ServiceRegistry;
44
import ai.wanaku.core.persistence.WanakuMarshallerService;
55
import ai.wanaku.core.persistence.api.ResourceReferenceRepository;
6-
import ai.wanaku.core.persistence.api.ServiceRepository;
76
import ai.wanaku.core.persistence.api.ToolReferenceRepository;
87
import io.quarkus.arc.DefaultBean;
8+
import io.quarkus.arc.lookup.LookupUnlessProperty;
99
import jakarta.enterprise.context.ApplicationScoped;
10-
import jakarta.enterprise.context.Dependent;
10+
import jakarta.enterprise.inject.Default;
1111
import jakarta.enterprise.inject.Produces;
1212
import org.eclipse.microprofile.config.inject.ConfigProperty;
1313

1414
import java.nio.file.Path;
1515

16-
@ApplicationScoped
1716
public class FilePersistenceConfiguration {
1817

1918
@ConfigProperty(name = "wanaku.persistence.file.base-folder", defaultValue = "${user.home}/.wanaku/router/")
@@ -28,27 +27,21 @@ public class FilePersistenceConfiguration {
2827
@ConfigProperty(name = "wanaku.persistence.file.services", defaultValue = "targets.json")
2928
String servicesFileName;
3029

31-
@DefaultBean
30+
@LookupUnlessProperty(name = "wanaku.persistence", stringValue = "mongodb", lookupIfMissing = true)
3231
@Produces
3332
ResourceReferenceRepository resourceReferenceRepository() {
3433
return new FileResourceReferenceRepository(new WanakuMarshallerService(), Path.of(
3534
baseFolder.replace("${user.home}", System.getProperty("user.home")), resourceReferenceFileName));
3635
}
3736

38-
@DefaultBean
37+
@LookupUnlessProperty(name = "wanaku.persistence", stringValue = "mongodb", lookupIfMissing = true)
3938
@Produces
4039
ToolReferenceRepository toolReferenceRepository() {
4140
return new FileToolReferenceRepository(new WanakuMarshallerService(), Path.of(
4241
baseFolder.replace("${user.home}", System.getProperty("user.home")), toolReferenceFileName));
4342
}
4443

45-
@DefaultBean
46-
@Produces
47-
ServiceRepository serviceRepository() {
48-
return new FileServiceRepository(new WanakuMarshallerService(), Path.of(
49-
baseFolder.replace("${user.home}", System.getProperty("user.home")), servicesFileName));
50-
}
51-
44+
@LookupUnlessProperty(name = "wanaku.service.persistence", stringValue = "valkey", lookupIfMissing = true)
5245
@DefaultBean
5346
@Produces
5447
ServiceRegistry serviceRegistry() {

core/core-persistence/core-persistence-file/src/main/java/ai/wanaku/core/persistence/file/FileServiceRepository.java

-89
This file was deleted.

core/core-persistence/core-persistence-file/src/test/java/ai/wanaku/core/persistence/file/ResourceReferenceTest.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import ai.wanaku.api.types.ResourceReference;
44
import ai.wanaku.core.persistence.api.ResourceReferenceRepository;
55
import io.quarkus.test.junit.QuarkusTest;
6+
import jakarta.enterprise.inject.Instance;
67
import jakarta.inject.Inject;
78
import org.eclipse.microprofile.config.ConfigProvider;
89
import org.junit.jupiter.api.Assertions;
@@ -22,7 +23,7 @@
2223
public class ResourceReferenceTest {
2324

2425
@Inject
25-
ResourceReferenceRepository resourceReferenceRepository;
26+
Instance<ResourceReferenceRepository> resourceReferenceRepository;
2627

2728
private static Path path;
2829

@@ -56,7 +57,7 @@ public void insertThreeFiles() {
5657
param2.setValue("value2" + i);
5758

5859
resourceReference.setParams(List.of(param1, param2));
59-
resourceReferenceRepository.persist(resourceReference);
60+
resourceReferenceRepository.get().persist(resourceReference);
6061
}
6162

6263
Assertions.assertTrue(Files.exists(path));
@@ -65,7 +66,7 @@ public void insertThreeFiles() {
6566
@Test
6667
@Order(2)
6768
public void list() {
68-
List<ResourceReference> entities = resourceReferenceRepository.listAll();
69+
List<ResourceReference> entities = resourceReferenceRepository.get().listAll();
6970

7071
Assertions.assertTrue(entities.size() == 3);
7172
Assertions.assertTrue(entities.get(0).getName().equals("name1"));
@@ -74,25 +75,25 @@ public void list() {
7475
@Test
7576
@Order(3)
7677
public void find() {
77-
ResourceReference model = resourceReferenceRepository.findById("name1");
78+
ResourceReference model = resourceReferenceRepository.get().findById("name1");
7879

7980
Assertions.assertNotNull(model);
8081
}
8182

8283
@Test
8384
@Order(4)
8485
public void findNonExistent() {
85-
Assertions.assertNull(resourceReferenceRepository.findById("nameNotExists"));
86+
Assertions.assertNull(resourceReferenceRepository.get().findById("nameNotExists"));
8687
}
8788

8889
@Test
8990
@Order(5)
9091
public void delete() {
91-
int initialSize = resourceReferenceRepository.listAll().size();
92+
int initialSize = resourceReferenceRepository.get().listAll().size();
9293

93-
resourceReferenceRepository.deleteById("name2");
94+
resourceReferenceRepository.get().deleteById("name2");
9495

95-
int finalSize = resourceReferenceRepository.listAll().size();
96+
int finalSize = resourceReferenceRepository.get().listAll().size();
9697

9798
Assertions.assertTrue(finalSize < initialSize);
9899
}

0 commit comments

Comments
 (0)