summaryrefslogtreecommitdiffstats
path: root/modules/process/manager_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/process/manager_test.go')
-rw-r--r--modules/process/manager_test.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/process/manager_test.go b/modules/process/manager_test.go
new file mode 100644
index 0000000000..e638264ce1
--- /dev/null
+++ b/modules/process/manager_test.go
@@ -0,0 +1,33 @@
+package process
+
+import (
+ "os/exec"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestManager_Add(t *testing.T) {
+ pm := Manager{Processes: make(map[int64]*Process)}
+
+ pid := pm.Add("foo", exec.Command("foo"))
+ assert.Equal(t, int64(1), pid, "expected to get pid 1 got %d", pid)
+
+ pid = pm.Add("bar", exec.Command("bar"))
+ assert.Equal(t, int64(2), pid, "expected to get pid 2 got %d", pid)
+}
+
+func TestManager_Remove(t *testing.T) {
+ pm := Manager{Processes: make(map[int64]*Process)}
+
+ pid1 := pm.Add("foo", exec.Command("foo"))
+ assert.Equal(t, int64(1), pid1, "expected to get pid 1 got %d", pid1)
+
+ pid2 := pm.Add("bar", exec.Command("bar"))
+ assert.Equal(t, int64(2), pid2, "expected to get pid 2 got %d", pid2)
+
+ pm.Remove(pid2)
+
+ _, exists := pm.Processes[pid2]
+ assert.False(t, exists, "PID %d is in the list but shouldn't", pid2)
+}