marmelab / gaudi

Gaudi allows to share multi-component applications, based on Docker, Go, and YAML.
http://gaudi.io/
MIT License
563 stars 28 forks source link

Rewrite test using ginkgo #49

Closed manuquentin closed 10 years ago

manuquentin commented 10 years ago

Use Ginkgo to rewrite tests :

Describe Container
    it should retrieve IP of a started container
    it should retrieve it first port
    it should stop the container when calling clean
    it should waits for dependencies

    it should pull a distant image
    it should tell if a container is running
    it should not start a running container
    it should start a non running container
    it should return custom value
    it should return default custom value
    it should tell if the container is managed by gaudi
    it should tell if the container has before script

Describe containerCollection
    it should merge 2 collection of container
    it should initialize all containers
    it should return a container by it's name
    it should start all container
    it should rebuild all container when calling start with rebuild = true
    it should stop all container
    it should check if the collection is not empty

Describe gaudi
    it should raise an error when the YAML is not correct
    it should throw an error when the configuration is not correct
    it should return all applications
    it should create containers from a configuration file
    it should clean & build containers
    it should start containers by order of dependencies
    it should user docker ps to check if all containers are started
    it should kill & remove all containers when calling clean
    it should pull base image if needed
    it should retrieve template if needed
    it should copy all required files
    it should clean & build binaries

Describe util
    it should tell if a resource is a directory
    it should tell if a resource is a file
    it should return information about a file
    it should copy a file to another location

Describe functional tests
    it should start apache
    it should start apache & PHP-FPM with links
    it should start varnish with 2 front servers
    it should start nginx with 3 front servers
    it should start mysql with 2 slaves
    it should start an ambassador when needed