@@ -77,6 +77,26 @@ func TestGitFromImageTaskInvalidState(t *testing.T) {
7777 }
7878}
7979
80+ func TestNetworkTaskInvalidState (t * testing.T ) {
81+ task := NetworkTask {Name : "test-network" , State : "invalid" }
82+ result := task .Execute ()
83+ if result .Error == nil {
84+ t .Fatal ("Execute with invalid state should return an error" )
85+ }
86+ }
87+
88+ func TestNetworkTaskDesiredState (t * testing.T ) {
89+ task := NetworkTask {Name : "test-network" , State : StatePresent }
90+ if task .DesiredState () != StatePresent {
91+ t .Errorf ("expected state 'present', got '%s'" , task .DesiredState ())
92+ }
93+
94+ task = NetworkTask {Name : "test-network" , State : StateAbsent }
95+ if task .DesiredState () != StateAbsent {
96+ t .Errorf ("expected state 'absent', got '%s'" , task .DesiredState ())
97+ }
98+ }
99+
80100func TestNetworkPropertyTaskInvalidState (t * testing.T ) {
81101 task := NetworkPropertyTask {App : "test-app" , Property : "attach-post-create" , State : "invalid" }
82102 result := task .Execute ()
@@ -359,6 +379,8 @@ func TestAllTasksDesiredState(t *testing.T) {
359379 {"DomainsToggleTask absent" , & DomainsToggleTask {App : "test" , State : StateAbsent }, StateAbsent },
360380 {"GitFromImageTask deployed" , & GitFromImageTask {App : "test" , Image : "nginx" , State : StateDeployed }, StateDeployed },
361381 {"GitSyncTask present" , & GitSyncTask {App : "test" , Remote : "https://example.com/repo" , State : StatePresent }, StatePresent },
382+ {"NetworkTask present" , & NetworkTask {Name : "test" , State : StatePresent }, StatePresent },
383+ {"NetworkTask absent" , & NetworkTask {Name : "test" , State : StateAbsent }, StateAbsent },
362384 {"NetworkPropertyTask present" , & NetworkPropertyTask {App : "test" , Property : "bind-all-interfaces" , State : StatePresent }, StatePresent },
363385 {"NetworkPropertyTask absent" , & NetworkPropertyTask {App : "test" , Property : "bind-all-interfaces" , State : StateAbsent }, StateAbsent },
364386 {"PortsTask present" , & PortsTask {App : "test" , State : StatePresent }, StatePresent },
@@ -563,7 +585,7 @@ func TestAllTasksExamplesReturnNoError(t *testing.T) {
563585}
564586
565587func TestRegisteredTaskCount (t * testing.T ) {
566- expected := 17
588+ expected := 18
567589 if got := len (RegisteredTasks ); got != expected {
568590 t .Errorf ("expected %d registered tasks, got %d" , expected , got )
569591 }
@@ -581,6 +603,7 @@ func TestTaskDocStrings(t *testing.T) {
581603 {& DomainsToggleTask {}, "Enables or disables the domains plugin for a given dokku application" },
582604 {& GitFromImageTask {}, "Deploys a git repository from a docker image" },
583605 {& GitSyncTask {}, "Syncs a git repository to a dokku application" },
606+ {& NetworkTask {}, "Creates or destroys a Docker network" },
584607 {& NetworkPropertyTask {}, "Manages the network property for a given dokku application" },
585608 {& PortsTask {}, "Manages the ports for a given dokku application" },
586609 {& PsScaleTask {}, "Manages the process scale for a given dokku application" },
0 commit comments