RIC:1060: Change in PTL
[ric-plt/vespamgr.git] / cmd / vespamgr / subprocess_test.go
1 /*
2  *  Copyright (c) 2019 AT&T Intellectual Property.
3  *  Copyright (c) 2018-2019 Nokia.
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18  *  platform project (RICP).
19  *
20  */
21 package main
22
23 import (
24         "testing"
25
26         "github.com/stretchr/testify/assert"
27 )
28
29 func TestProcessRunning(t *testing.T) {
30         r := NewCommandRunner("echo", "a")
31         ch := make(chan error)
32         r.Run(ch)
33         err := <-ch
34         assert.Nil(t, err)
35 }
36
37 func TestProcessKill(t *testing.T) {
38         r := NewCommandRunner("sleep", "20")
39         ch := make(chan error)
40         r.Run(ch)
41         assert.Nil(t, r.Kill())
42         <-ch // wait and seee that kills is actually done
43 }
44
45 func TestProcessRunningFails(t *testing.T) {
46         r := NewCommandRunner("foobarbaz")
47         ch := make(chan error)
48         r.Run(ch)
49         err := <-ch
50         assert.NotNil(t, err)
51 }