@@ -38,3 +38,65 @@ func TestDefaultContainerConfigFactory_Create_NotFound(t *testing.T) {
38
38
assert .Nil (t , containerConfig )
39
39
assert .ErrorIs (t , err , fxtestcontainer .ErrContainerConfigNotFound )
40
40
}
41
+
42
+ func TestDefaultContainerConfigFactory_Create_DefaultName (t * testing.T ) {
43
+ t .Setenv ("APP_ENV" , "test" )
44
+
45
+ cfg , err := config .NewDefaultConfigFactory ().Create (config .WithFilePaths ("./testdata/config" ))
46
+ require .NoError (t , err )
47
+
48
+ factory := fxtestcontainer .NewDefaultContainerConfigFactory (cfg )
49
+
50
+ containerConfig , err := factory .Create ("noname" )
51
+ require .NoError (t , err )
52
+
53
+ // Should use configKey as default name when name is not provided
54
+ assert .Equal (t , "noname" , containerConfig .Name )
55
+ assert .Equal (t , "nginx:alpine" , containerConfig .Image )
56
+ assert .Equal (t , "80/tcp" , containerConfig .Port )
57
+ }
58
+
59
+ func TestDefaultContainerConfigFactory_Create_CompleteConfig (t * testing.T ) {
60
+ t .Setenv ("APP_ENV" , "test" )
61
+
62
+ cfg , err := config .NewDefaultConfigFactory ().Create (config .WithFilePaths ("./testdata/config" ))
63
+ require .NoError (t , err )
64
+
65
+ factory := fxtestcontainer .NewDefaultContainerConfigFactory (cfg )
66
+
67
+ containerConfig , err := factory .Create ("postgres" )
68
+ require .NoError (t , err )
69
+
70
+ // Test all fields are properly populated
71
+ assert .Equal (t , "test-postgres" , containerConfig .Name )
72
+ assert .Equal (t , "postgres:13" , containerConfig .Image )
73
+ assert .Equal (t , "5432/tcp" , containerConfig .Port )
74
+
75
+ // Test exposed ports
76
+ expectedExposedPorts := []string {"5432/tcp" }
77
+ assert .Equal (t , expectedExposedPorts , containerConfig .ExposedPorts )
78
+
79
+ // Test environment variables (should be uppercase)
80
+ expectedEnv := map [string ]string {
81
+ "POSTGRES_DB" : "testdb" ,
82
+ "POSTGRES_USER" : "testuser" ,
83
+ "POSTGRES_PASSWORD" : "testpass" ,
84
+ }
85
+ assert .Equal (t , expectedEnv , containerConfig .Environment )
86
+
87
+ // Test command
88
+ expectedCmd := []string {"postgres" , "-c" , "log_statement=all" }
89
+ assert .Equal (t , expectedCmd , containerConfig .Cmd )
90
+ }
91
+
92
+ func TestNewDefaultContainerConfigFactory (t * testing.T ) {
93
+ t .Setenv ("APP_ENV" , "test" )
94
+
95
+ cfg , err := config .NewDefaultConfigFactory ().Create (config .WithFilePaths ("./testdata/config" ))
96
+ require .NoError (t , err )
97
+
98
+ factory := fxtestcontainer .NewDefaultContainerConfigFactory (cfg )
99
+
100
+ assert .NotNil (t , factory )
101
+ assert .IsType (t , & fxtestcontainer.DefaultContainerConfigFactory {}, factory )
102
+ }
0 commit comments