2020-06-18 16:13:24 +02:00
/ *
Copyright 2020 Docker , Inc .
Licensed under the Apache License , Version 2.0 ( the "License" ) ;
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
* /
2020-07-29 15:12:45 +02:00
package aci
2020-05-06 17:14:53 +02:00
import (
2020-07-03 10:03:46 +02:00
"context"
2020-05-06 17:14:53 +02:00
"testing"
2020-07-03 10:53:50 +02:00
"github.com/docker/api/containers"
2020-07-31 15:57:00 +02:00
"gotest.tools/v3/assert"
2020-05-06 17:14:53 +02:00
)
2020-07-31 15:57:00 +02:00
func TestGetContainerName ( t * testing . T ) {
2020-05-18 14:56:32 +02:00
group , container := getGroupAndContainerName ( "docker1234" )
2020-07-31 15:57:00 +02:00
assert . Equal ( t , group , "docker1234" )
assert . Equal ( t , container , "docker1234" )
2020-05-06 17:14:53 +02:00
2020-05-18 14:56:32 +02:00
group , container = getGroupAndContainerName ( "compose_service1" )
2020-07-31 15:57:00 +02:00
assert . Equal ( t , group , "compose" )
assert . Equal ( t , container , "service1" )
2020-05-06 17:14:53 +02:00
2020-05-18 14:56:32 +02:00
group , container = getGroupAndContainerName ( "compose_stack_service1" )
2020-07-31 15:57:00 +02:00
assert . Equal ( t , group , "compose_stack" )
assert . Equal ( t , container , "service1" )
2020-05-06 17:14:53 +02:00
}
2020-05-28 17:37:59 +02:00
2020-07-31 15:57:00 +02:00
func TestErrorMessageDeletingContainerFromComposeApplication ( t * testing . T ) {
2020-07-03 10:03:46 +02:00
service := aciContainerService { }
err := service . Delete ( context . TODO ( ) , "compose-app_service1" , false )
2020-07-31 15:57:00 +02:00
assert . Error ( t , err , "cannot delete service \"service1\" from compose application \"compose-app\", you can delete the entire compose app with docker compose down --project-name compose-app" )
2020-07-03 10:03:46 +02:00
}
2020-07-31 15:57:00 +02:00
func TestErrorMessageRunSingleContainerNameWithComposeSeparator ( t * testing . T ) {
2020-07-03 10:53:50 +02:00
service := aciContainerService { }
err := service . Run ( context . TODO ( ) , containers . ContainerConfig { ID : "container_name" } )
2020-07-31 15:57:00 +02:00
assert . Error ( t , err , "invalid container name. ACI container name cannot include \"_\"" )
2020-07-03 10:53:50 +02:00
}
2020-07-31 15:57:00 +02:00
func TestVerifyCommand ( t * testing . T ) {
2020-07-06 03:29:48 +02:00
err := verifyExecCommand ( "command" ) // Command without an argument
2020-07-31 15:57:00 +02:00
assert . NilError ( t , err )
2020-07-06 03:29:48 +02:00
err = verifyExecCommand ( "command argument" ) // Command with argument
2020-07-31 15:57:00 +02:00
assert . Error ( t , err , "ACI exec command does not accept arguments to the command. " +
"Only the binary should be specified" )
2020-05-28 17:37:59 +02:00
}