mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-16 01:11:16 +03:00
refactor: flaky unit test in db_bootstrap_test (#532)
This commit is contained in:
committed by
GitHub
parent
a408ef797b
commit
21bf49c061
@@ -1,6 +1,7 @@
|
|||||||
package bootstrap
|
package bootstrap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/url"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@@ -112,9 +113,32 @@ func TestParseSqliteConnectionString(t *testing.T) {
|
|||||||
|
|
||||||
if tt.expectedError {
|
if tt.expectedError {
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
} else {
|
return
|
||||||
require.NoError(t, err)
|
}
|
||||||
assert.Equal(t, tt.expected, result)
|
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Parse both URLs to compare components independently
|
||||||
|
expectedURL, err := url.Parse(tt.expected)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
resultURL, err := url.Parse(result)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Compare scheme and path components
|
||||||
|
assert.Equal(t, expectedURL.Scheme, resultURL.Scheme)
|
||||||
|
assert.Equal(t, expectedURL.Path, resultURL.Path)
|
||||||
|
|
||||||
|
// Compare query parameters regardless of order
|
||||||
|
expectedQuery := expectedURL.Query()
|
||||||
|
resultQuery := resultURL.Query()
|
||||||
|
|
||||||
|
assert.Len(t, expectedQuery, len(resultQuery))
|
||||||
|
|
||||||
|
for key, expectedValues := range expectedQuery {
|
||||||
|
resultValues, ok := resultQuery[key]
|
||||||
|
_ = assert.True(t, ok) &&
|
||||||
|
assert.ElementsMatch(t, expectedValues, resultValues)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user