github.com/codefly-dev/core@v0.1.107/resources/module_test.go (about) 1 package resources_test 2 3 // 4 //import ( 5 // "context" 6 // "os" 7 // "path/filepath" 8 // "testing" 9 // 10 // "github.com/codefly-dev/core/actions/actions" 11 // actionmodule "github.com/codefly-dev/core/actions/module" 12 // actionsv0 "github.com/codefly-dev/core/generated/go/actions/v0" 13 // "github.com/codefly-dev/core/resources" 14 // "github.com/codefly-dev/core/shared" 15 // "github.com/stretchr/testify/assert" 16 //) 17 // 18 //func TestCreationModule(t *testing.T) { 19 // tmpDir := t.TempDir() 20 // 21 // defer func() { 22 // os.RemoveAll(tmpDir) 23 // }() 24 // ctx := context.Background() 25 // 26 // var action actions.Action 27 // var err error 28 // 29 // action, err = action.NewActionNe(ctx, &actionsv0.New{ 30 // Name: "test-", 31 // Path: tmpDir, 32 // }) 33 //require.NoError(t, err) 34 // out, err := action.Run(ctx) 35 //require.NoError(t, err) 36 // := shared.Must(actions.As[resources.](out)) 37 // 38 // action, err = actionmodule.NewActionAddModule(ctx, &actionsv0.NewModule{ 39 // Name: "test-module", 40 // Path: .Dir(), 41 // }) 42 //require.NoError(t, err) 43 // out, err = action.Run(ctx) 44 //require.NoError(t, err) 45 // 46 // app, err := actions.As[resources.Module](out) 47 //require.NoError(t, err) 48 // require.Equal(t, "test-module", app.Name) 49 // 50 // // Check that there is a configuration file 51 // _, err = os.Stat(filepath.Join(.Dir(), "modules/test-module", resources.ModuleConfigurationName)) 52 // 53 // // Run again should produce error 54 // _, err = action.Run(ctx) 55 // require.Error(t, err) 56 // 57 // // Re-load the 58 // , err = resources.Reload(ctx, ) 59 //require.NoError(t, err) 60 // require.Equal(t, 1, len(.Modules)) 61 // 62 // // Check that we have the configuration 63 // back, err := .LoadModuleFromName(ctx, "test-module") 64 //require.NoError(t, err) 65 // require.Equal(t, app.Name, back.Name) 66 // 67 // // Add a second module 68 // action, err = actionmodule.NewActionAddModule(ctx, &actionsv0.NewModule{ 69 // Name: "test-module-2", 70 // Path: .Dir(), 71 // }) 72 //require.NoError(t, err) 73 // out, err = action.Run(ctx) 74 //require.NoError(t, err) 75 // app, err = actions.As[resources.Module](out) 76 //require.NoError(t, err) 77 // require.Equal(t, "test-module-2", app.Name) 78 // 79 // , err = resources.Reload(ctx, ) 80 //require.NoError(t, err) 81 // 82 // require.Equal(t, 2, len(.Modules)) 83 //} 84 // 85 //func TestCreationModuleWithWorkspace(t *testing.T) { 86 // ctx := context.Background() 87 // workspace, dir := createTestWorkspace(t, ctx) 88 // cur, err := os.Getwd() 89 //require.NoError(t, err) 90 // err = os.Chdir(dir) 91 //require.NoError(t, err) 92 // 93 // defer func() { 94 // os.RemoveAll(dir) 95 // os.Chdir(cur) 96 // }() 97 // 98 // var action actions.Action 99 // action, err = action.NewActionNew(ctx, &actionsv0.New{ 100 // Name: "test-", 101 // Path: workspace.Dir(), 102 // }) 103 //require.NoError(t, err) 104 // out, err := action.Run(ctx) 105 //require.NoError(t, err) 106 // := shared.Must(actions.As[resources.](out)) 107 // 108 // // Add to workspace 109 // action, err = action.NewActionAddToWorkspace(ctx, &actionsv0.AddToWorkspace{ 110 // Name: .Name, 111 // Workspace: workspace.Name, 112 // Path: .Dir(), 113 // }) 114 //require.NoError(t, err) 115 // out, err = action.Run(ctx) 116 //require.NoError(t, err) 117 // 118 // workspace = shared.Must(actions.As[resources.Workspace](out)) 119 // 120 // require.Equal(t, "test-", workspace.Active) 121 // 122 // action, err = actionmodule.NewActionAddModule(ctx, &actionsv0.NewModule{ 123 // Name: "test-module", 124 // Path: .Dir(), 125 // }) 126 //require.NoError(t, err) 127 // out, err = action.Run(ctx) 128 //require.NoError(t, err) 129 // 130 // app := shared.Must(actions.As[resources.Module](out)) 131 // require.Equal(t, "test-module", app.Name) 132 // require.Equal(t, .Name, app.) 133 // require.Equal(t, filepath.Join(.Dir(), "modules/test-module"), app.Dir()) 134 // 135 // // Running again should produce an error 136 // _, err = action.Run(ctx) 137 // require.Error(t, err) 138 // 139 // // Add app to workspace 140 // action, err = actionmodule.NewActionAddModuleToWorkspace(ctx, &actionsv0.AddModuleToWorkspace{ 141 // Name: app.Name, 142 // : .Name, 143 // Workspace: workspace.Name, 144 // }) 145 //require.NoError(t, err) 146 // out, err = action.Run(ctx) 147 //require.NoError(t, err) 148 // workspace = shared.Must(actions.As[resources.Workspace](out)) 149 // 150 // , err = resources.Reload(ctx, ) 151 //require.NoError(t, err) 152 // 153 // // Check that we have the app 154 // back, err := .LoadModuleFromName(ctx, "test-module") 155 //require.NoError(t, err) 156 // require.Equal(t, app.Name, back.Name) 157 // 158 // // One app should be active 159 // 160 // // Check the active module 161 // back, err = workspace.LoadActiveModule(ctx, .Name) 162 //require.NoError(t, err) 163 // require.Equal(t, app.Name, back.Name) 164 // 165 // // Add a second module 166 // action, err = actionmodule.NewActionAddModule(ctx, &actionsv0.NewModule{ 167 // Name: "test-module-2", 168 // Path: .Name, 169 // }) 170 //require.NoError(t, err) 171 // out, err = action.Run(ctx) 172 //require.NoError(t, err) 173 // app, err = actions.As[resources.Module](out) 174 //require.NoError(t, err) 175 // require.Equal(t, "test-module-2", app.Name) 176 // 177 // , err = resources.Reload(ctx, ) 178 //require.NoError(t, err) 179 // 180 // require.Equal(t, 2, len(.Modules)) 181 // 182 // // Add workspace 183 // action, err = actionmodule.NewActionAddModuleToWorkspace(ctx, &actionsv0.AddModuleToWorkspace{ 184 // Name: app.Name, 185 // : .Name, 186 // Workspace: workspace.Name, 187 // }) 188 //require.NoError(t, err) 189 // out, err = action.Run(ctx) 190 //require.NoError(t, err) 191 // workspace = shared.Must(actions.As[resources.Workspace](out)) 192 // 193 // // Set active 194 // action, err = actionmodule.NewActionSetModuleActive(ctx, &actionsv0.SetModuleActive{ 195 // Name: app.Name, 196 // : .Name, 197 // Workspace: workspace.Name, 198 // }) 199 //require.NoError(t, err) 200 // out, err = action.Run(ctx) 201 //require.NoError(t, err) 202 // workspace = shared.Must(actions.As[resources.Workspace](out)) 203 // 204 // // Check active is the second one 205 // back, err = workspace.LoadActiveModule(ctx, .Name) 206 // 207 // // Make the first one active 208 // action, err = actionmodule.NewActionSetModuleActive(ctx, &actionsv0.SetModuleActive{ 209 // Name: "test-module", 210 // : .Name, 211 // Workspace: workspace.Name, 212 // }) 213 //require.NoError(t, err) 214 // out, err = action.Run(ctx) 215 //require.NoError(t, err) 216 // 217 // workspace, err = actions.As[resources.Workspace](out) 218 //require.NoError(t, err) 219 // active, err := workspace.LoadActiveModule(ctx, .Name) 220 // require.Equal(t, "test-module", active.Name) 221 // 222 // action, err = actionmodule.NewActionSetModuleActive(ctx, &actionsv0.SetModuleActive{ 223 // Name: "test-module-2", 224 // : .Name, 225 // Workspace: workspace.Name, 226 // }) 227 //require.NoError(t, err) 228 // out, err = action.Run(ctx) 229 //require.NoError(t, err) 230 // workspace, err = actions.As[resources.Workspace](out) 231 //require.NoError(t, err) 232 // 233 // active, err = workspace.LoadActiveModule(ctx, .Name) 234 // require.Equal(t, "test-module-2", active.Name) 235 //}