blob: 1e8ec44f156a9806550fdd23dbf840d9cd784545 [file] [log] [blame]
Thomas LEVEIL58695bb2015-09-04 21:51:10 +00001#!/usr/bin/env bats
2
3SUT_IMAGE=bats-jenkins
4SUT_CONTAINER=bats-jenkins
5
6load test_helpers
7
8@test "build image" {
Carlos Sanchez5fc9cd02016-02-28 15:25:18 +01009 cd $BATS_TEST_DIRNAME/..
10 docker build -t $SUT_IMAGE .
Thomas LEVEIL58695bb2015-09-04 21:51:10 +000011}
12
13@test "clean test containers" {
Carlos Sanchez5fc9cd02016-02-28 15:25:18 +010014 cleanup $SUT_CONTAINER
15}
16
17@test "test multiple JENKINS_OPTS" {
18 # running --help --version should return the version, not the help
19 local version=$(grep 'ENV JENKINS_VERSION' Dockerfile | sed -e 's/ENV JENKINS_VERSION //')
20 # need the last line of output, removing the last char
21 local actual_version=$(docker run --rm -ti -e JENKINS_OPTS="--help --version" --name $SUT_CONTAINER -P $SUT_IMAGE | tail -n 1)
22 assert "${version}" echo ${actual_version::-1}
23}
24
25@test "test jenkins arguments" {
26 # running --help --version should return the version, not the help
27 local version=$(grep 'ENV JENKINS_VERSION' Dockerfile | sed -e 's/ENV JENKINS_VERSION //')
28 # need the last line of output, removing the last char
29 local actual_version=$(docker run --rm -ti --name $SUT_CONTAINER -P $SUT_IMAGE --help --version | tail -n 1)
30 assert "${version}" echo ${actual_version::-1}
Thomas LEVEIL58695bb2015-09-04 21:51:10 +000031}
32
33@test "create test container" {
34 docker run -d --name $SUT_CONTAINER -P $SUT_IMAGE
35}
36
37@test "test container is running" {
Carlos Sanchez5fc9cd02016-02-28 15:25:18 +010038 sleep 1 # give time to eventually fail to initialize
39 retry 3 1 assert "true" docker inspect -f {{.State.Running}} $SUT_CONTAINER
Thomas LEVEIL58695bb2015-09-04 21:51:10 +000040}
41
42@test "Jenkins is initialized" {
43 retry 30 5 test_url /api/json
44}
Carlos Sanchez5fc9cd02016-02-28 15:25:18 +010045
46@test "clean test containers" {
47 cleanup $SUT_CONTAINER
48}