Remove the in-memory database (#537)
<!-- Provide a brief summary of your changes --> ## Motivation and Context <!-- Why is this change needed? What problem does it solve? --> The follow PR removes the in-memory database option from the registry. We had a chat about this with @domdomegg and although it is supposed to be convenient, it isn't that useful in reality. We want to test and develop the registry in a setup that is closer to the environment it is supposed to be run. One of the main reasons are: * We don't use it anywhere else besides unit testing and potentially local development. Instead we should use postgresql for reliable results (in-memory was actually giving false positive results) * We have to keep maintaining it and make sure it mimics the behaviour we have for postgresql which is not yielding a lot of value ## How Has This Been Tested? <!-- Have you tested this in a real application? Which scenarios were tested? --> Yes, I've updated the test unit make target to run in the postgresql environment and now we can see the race condition issue happening. ## Breaking Changes <!-- Will users need to update their code or configurations? --> No ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [ ] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [ ] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context <!-- Add any other context, implementation notes, or design decisions --> --------- Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
This commit is contained in:
parent
9d184933c5
commit
ddcc586842
6 changed files with 202 additions and 455 deletions
|
|
@ -22,7 +22,7 @@ import (
|
|||
|
||||
func TestEditServerEndpoint(t *testing.T) {
|
||||
// Create registry service and insert a common test server
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
|
||||
// Publish a test server that will be used across test cases
|
||||
testServer := apiv0.ServerJSON{
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ func TestPublishIntegration(t *testing.T) {
|
|||
}
|
||||
|
||||
// Setup fake service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), testConfig)
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), testConfig)
|
||||
|
||||
// Create a new ServeMux and Huma API
|
||||
mux := http.NewServeMux()
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ func TestPublishRegistryValidation(t *testing.T) {
|
|||
}
|
||||
|
||||
// Setup fake service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), testConfig)
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), testConfig)
|
||||
|
||||
// Create a new ServeMux and Huma API
|
||||
mux := http.NewServeMux()
|
||||
|
|
|
|||
|
|
@ -357,7 +357,7 @@ func TestPublishEndpoint(t *testing.T) {
|
|||
for _, tc := range testCases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
// Create registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), testConfig)
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), testConfig)
|
||||
|
||||
// Setup registry service
|
||||
tc.setupRegistryService(registryService)
|
||||
|
|
@ -459,7 +459,7 @@ func TestPublishEndpoint_MultipleSlashesEdgeCases(t *testing.T) {
|
|||
for _, tc := range testCases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
// Create registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), testConfig)
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), testConfig)
|
||||
|
||||
// Create a new ServeMux and Huma API
|
||||
mux := http.NewServeMux()
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ func TestServersListEndpoint(t *testing.T) {
|
|||
for _, tc := range testCases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
// Create mock registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
tc.setupRegistryService(registryService)
|
||||
|
||||
// Create a new test API
|
||||
|
|
@ -378,7 +378,7 @@ func TestServersListEndpoint(t *testing.T) {
|
|||
|
||||
func TestServersDetailEndpoint(t *testing.T) {
|
||||
// Create mock registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
|
||||
// Publish multiple versions of the same server
|
||||
testServer1, err := registryService.Publish(apiv0.ServerJSON{
|
||||
|
|
@ -488,7 +488,7 @@ func TestServersDetailEndpoint(t *testing.T) {
|
|||
|
||||
func TestServersVersionsEndpoint(t *testing.T) {
|
||||
// Create mock registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
|
||||
// Publish multiple versions of the same server
|
||||
testServer1, err := registryService.Publish(apiv0.ServerJSON{
|
||||
|
|
@ -598,7 +598,7 @@ func TestServersVersionsEndpoint(t *testing.T) {
|
|||
// TestServersEndpointsIntegration tests the servers endpoints with actual HTTP requests
|
||||
func TestServersEndpointsIntegration(t *testing.T) {
|
||||
// Create mock registry service
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
|
||||
// Test data - publish a server and get its actual ID
|
||||
testServer := apiv0.ServerJSON{
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import (
|
|||
)
|
||||
|
||||
func TestPrometheusHandler(t *testing.T) {
|
||||
registryService := service.NewRegistryService(database.NewMemoryDB(), config.NewConfig())
|
||||
registryService := service.NewRegistryService(database.NewTestDB(t), config.NewConfig())
|
||||
server, err := registryService.Publish(apiv0.ServerJSON{
|
||||
Name: "io.github.example/test-server",
|
||||
Description: "Test server detail",
|
||||
|
|
|
|||
Loading…
Reference in a new issue