diff --git a/mongox-testing/database/ephemeral.go b/mongox-testing/database/ephemeral.go index eb6549d..299d82a 100644 --- a/mongox-testing/database/ephemeral.go +++ b/mongox-testing/database/ephemeral.go @@ -2,6 +2,7 @@ package database import ( "context" + "os" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" @@ -11,14 +12,28 @@ import ( "github.com/mainnika/mongox-go-driver/v2/mongox/database" ) +// defaultURI is a mongodb uri that is being used by tests +var defaultURI = "mongodb://localhost" + // EphemeralDatabase is a temporary database connection that will be destroyed after close type EphemeralDatabase struct { mongox.Database } +func init() { + envURI := os.Getenv("MONGODB_URI") + if envURI != "" { + defaultURI = envURI + } +} + // NewEphemeral creates new mongo connection func NewEphemeral(URI string) (db *EphemeralDatabase, err error) { + if URI == "" { + URI = defaultURI + } + name := primitive.NewObjectID().Hex() opts := options.Client().ApplyURI(URI) client, err := mongo.Connect(context.Background(), opts) diff --git a/mongox/base/jsonbased/id_test.go b/mongox/base/jsonbased/id_test.go index 08480b0..de594b5 100644 --- a/mongox/base/jsonbased/id_test.go +++ b/mongox/base/jsonbased/id_test.go @@ -41,7 +41,7 @@ func Test_SaveLoad(t *testing.T) { Primary `bson:",inline" json:",inline" collection:"1"` } - db, err := database.NewEphemeral("mongodb://localhost") + db, err := database.NewEphemeral("") if err != nil { t.Fatal(err) } diff --git a/mongox/base/oidbased/id_test.go b/mongox/base/oidbased/id_test.go index ba5bef6..cadb5fc 100644 --- a/mongox/base/oidbased/id_test.go +++ b/mongox/base/oidbased/id_test.go @@ -41,7 +41,7 @@ func Test_SaveLoad(t *testing.T) { Primary `bson:",inline" json:",inline" collection:"1"` } - db, err := database.NewEphemeral("mongodb://localhost") + db, err := database.NewEphemeral("") if err != nil { t.Fatal(err) } diff --git a/mongox/base/stringbased/id_test.go b/mongox/base/stringbased/id_test.go index 25f7cc3..8ae77f7 100644 --- a/mongox/base/stringbased/id_test.go +++ b/mongox/base/stringbased/id_test.go @@ -40,7 +40,7 @@ func Test_SaveLoad(t *testing.T) { Primary `bson:",inline" json:",inline" collection:"1"` } - db, err := database.NewEphemeral("mongodb://localhost") + db, err := database.NewEphemeral("") if err != nil { t.Fatal(err) } diff --git a/mongox/database/index_test.go b/mongox/database/index_test.go index 5f7be61..9c570c6 100644 --- a/mongox/database/index_test.go +++ b/mongox/database/index_test.go @@ -11,7 +11,7 @@ import ( func TestDatabase_Ensure(t *testing.T) { - db, err := database.NewEphemeral("mongodb://localhost") + db, err := database.NewEphemeral("") if err != nil { t.Fatal(err) }