gitee.com/leisunstar/runtime@v0.0.0-20200521203717-5cef3e7b53f9/virtcontainers/noop_agent_test.go (about) 1 // 2 // Copyright (c) 2016 Intel Corporation 3 // 4 // SPDX-License-Identifier: Apache-2.0 5 // 6 7 package virtcontainers 8 9 import ( 10 "context" 11 "testing" 12 13 "github.com/kata-containers/runtime/virtcontainers/types" 14 "github.com/stretchr/testify/assert" 15 ) 16 17 func testCreateNoopContainer() (*Sandbox, *Container, error) { 18 defer cleanUp() 19 20 contID := "100" 21 config := newTestSandboxConfigNoop() 22 23 ctx := context.Background() 24 p, err := CreateSandbox(ctx, config, nil) 25 if err != nil { 26 return nil, nil, err 27 } 28 29 contConfig := newTestContainerConfigNoop(contID) 30 31 p, c, err := CreateContainer(ctx, p.ID(), contConfig) 32 if err != nil { 33 return nil, nil, err 34 } 35 36 return p.(*Sandbox), c.(*Container), nil 37 } 38 39 func TestNoopAgentInit(t *testing.T) { 40 n := &noopAgent{} 41 sandbox := &Sandbox{} 42 assert := assert.New(t) 43 44 disableVMShutdown, err := n.init(context.Background(), sandbox, nil) 45 assert.NoError(err) 46 assert.False(disableVMShutdown) 47 } 48 49 func TestNoopAgentExec(t *testing.T) { 50 n := &noopAgent{} 51 cmd := types.Cmd{} 52 assert := assert.New(t) 53 54 sandbox, container, err := testCreateNoopContainer() 55 assert.NoError(err) 56 defer cleanUp() 57 58 _, err = n.exec(sandbox, *container, cmd) 59 assert.NoError(err) 60 } 61 62 func TestNoopAgentStartSandbox(t *testing.T) { 63 n := &noopAgent{} 64 sandbox := &Sandbox{} 65 assert := assert.New(t) 66 67 err := n.startSandbox(sandbox) 68 assert.NoError(err) 69 } 70 71 func TestNoopAgentStopSandbox(t *testing.T) { 72 n := &noopAgent{} 73 sandbox := &Sandbox{} 74 assert := assert.New(t) 75 76 err := n.stopSandbox(sandbox) 77 assert.NoError(err) 78 } 79 80 func TestNoopAgentCreateContainer(t *testing.T) { 81 n := &noopAgent{} 82 assert := assert.New(t) 83 sandbox, container, err := testCreateNoopContainer() 84 assert.NoError(err) 85 defer cleanUp() 86 87 err = n.startSandbox(sandbox) 88 assert.NoError(err) 89 90 _, err = n.createContainer(sandbox, container) 91 assert.NoError(err) 92 } 93 94 func TestNoopAgentStartContainer(t *testing.T) { 95 n := &noopAgent{} 96 assert := assert.New(t) 97 98 sandbox, container, err := testCreateNoopContainer() 99 assert.NoError(err) 100 defer cleanUp() 101 102 err = n.startContainer(sandbox, container) 103 assert.NoError(err) 104 } 105 106 func TestNoopAgentStopContainer(t *testing.T) { 107 n := &noopAgent{} 108 assert := assert.New(t) 109 sandbox, container, err := testCreateNoopContainer() 110 assert.NoError(err) 111 defer cleanUp() 112 113 err = n.stopContainer(sandbox, *container) 114 assert.NoError(err) 115 } 116 117 func TestNoopAgentStatsContainer(t *testing.T) { 118 n := &noopAgent{} 119 assert := assert.New(t) 120 sandbox, container, err := testCreateNoopContainer() 121 assert.NoError(err) 122 123 defer cleanUp() 124 _, err = n.statsContainer(sandbox, *container) 125 assert.NoError(err) 126 } 127 128 func TestNoopAgentPauseContainer(t *testing.T) { 129 n := &noopAgent{} 130 assert := assert.New(t) 131 sandbox, container, err := testCreateNoopContainer() 132 assert.NoError(err) 133 134 defer cleanUp() 135 err = n.pauseContainer(sandbox, *container) 136 assert.NoError(err) 137 } 138 139 func TestNoopAgentResumeContainer(t *testing.T) { 140 n := &noopAgent{} 141 assert := assert.New(t) 142 sandbox, container, err := testCreateNoopContainer() 143 assert.NoError(err) 144 defer cleanUp() 145 err = n.resumeContainer(sandbox, *container) 146 assert.NoError(err) 147 } 148 149 func TestNoopAgentConfigure(t *testing.T) { 150 n := &noopAgent{} 151 h := &mockHypervisor{} 152 id := "foobar" 153 sharePath := "foobarDir" 154 assert := assert.New(t) 155 err := n.configure(h, id, sharePath, true, nil) 156 assert.NoError(err) 157 } 158 159 func TestNoopAgentGetSharePath(t *testing.T) { 160 n := &noopAgent{} 161 path := n.getSharePath("") 162 assert := assert.New(t) 163 assert.Empty(path) 164 } 165 166 func TestNoopAgentStartProxy(t *testing.T) { 167 assert := assert.New(t) 168 n := &noopAgent{} 169 sandbox, _, err := testCreateNoopContainer() 170 171 assert.NoError(err) 172 defer cleanUp() 173 err = n.startProxy(sandbox) 174 assert.NoError(err) 175 } 176 177 func TestNoopAgentProcessListContainer(t *testing.T) { 178 assert := assert.New(t) 179 n := &noopAgent{} 180 sandbox, container, err := testCreateNoopContainer() 181 assert.NoError(err) 182 defer cleanUp() 183 _, err = n.processListContainer(sandbox, *container, ProcessListOptions{}) 184 assert.NoError(err) 185 } 186 187 func TestNoopAgentReseedRNG(t *testing.T) { 188 assert := assert.New(t) 189 n := &noopAgent{} 190 err := n.reseedRNG([]byte{}) 191 assert.NoError(err) 192 } 193 194 func TestNoopAgentUpdateInterface(t *testing.T) { 195 assert := assert.New(t) 196 n := &noopAgent{} 197 _, err := n.updateInterface(nil) 198 assert.NoError(err) 199 } 200 201 func TestNoopAgentListInterfaces(t *testing.T) { 202 assert := assert.New(t) 203 n := &noopAgent{} 204 _, err := n.listInterfaces() 205 assert.NoError(err) 206 } 207 208 func TestNoopAgentUpdateRoutes(t *testing.T) { 209 assert := assert.New(t) 210 n := &noopAgent{} 211 _, err := n.updateRoutes(nil) 212 assert.NoError(err) 213 } 214 215 func TestNoopAgentListRoutes(t *testing.T) { 216 n := &noopAgent{} 217 assert := assert.New(t) 218 _, err := n.listRoutes() 219 assert.NoError(err) 220 } 221 222 func TestNoopAgentRSetProxy(t *testing.T) { 223 n := &noopAgent{} 224 p := &noopProxy{} 225 s := &Sandbox{} 226 assert := assert.New(t) 227 err := n.setProxy(s, p, 0, "") 228 assert.NoError(err) 229 } 230 231 func TestNoopGetAgentUrl(t *testing.T) { 232 assert := assert.New(t) 233 n := &noopAgent{} 234 235 url, err := n.getAgentURL() 236 assert.Nil(err) 237 assert.Empty(url) 238 } 239 240 func TestNoopCopyFile(t *testing.T) { 241 assert := assert.New(t) 242 n := &noopAgent{} 243 244 err := n.copyFile("", "") 245 assert.Nil(err) 246 } 247 248 func TestNoopGetOOMEvent(t *testing.T) { 249 assert := assert.New(t) 250 n := &noopAgent{} 251 252 containerID, err := n.getOOMEvent() 253 assert.Nil(err) 254 assert.Empty(containerID) 255 }