Skip to content

Commit b1b20c4

Browse files
rubenvp8510burmanm
authored andcommitted
Updated tests to test agains hawkular-alerts latest docker image. (#52)
1 parent 5551a35 commit b1b20c4

4 files changed

Lines changed: 43 additions & 10 deletions

File tree

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ env:
1616
- PYTHONPATH=.
1717
matrix:
1818
- HAWKULAR_VERSION=latest
19-
- HAWKULAR_VERSION=0.15
19+
- HAWKULAR_IMAGE=hawkular/hawkular-alerts
2020

2121
script: pytest

.travis/run_hawkular.sh

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ if [[ -z ${HAWKULAR_VERSION+x} ]]; then
88
HAWKULAR_VERSION='latest'
99
fi
1010

11-
HAWKULAR_IMAGE=rubensvp/hawkular-metrics:${HAWKULAR_VERSION}
11+
if [[ -z ${HAWKULAR_IMAGE+x} ]]; then
12+
HAWKULAR_IMAGE="rubensvp/hawkular-metrics"
13+
fi
14+
15+
HAWKULAR_IMAGE=${HAWKULAR_IMAGE}:${HAWKULAR_VERSION}
1216

1317
function metrics_status {
1418
curl -s http://localhost:8080/hawkular/metrics/status | jq -r '.MetricsService' 2> /dev/null
@@ -26,7 +30,7 @@ function wait_hawkular {
2630
METRICS_STATUS=$(metrics_status)
2731
ALERTS_STATUS=$(alerts_status)
2832
TOTAL_WAIT=0
29-
echo "Starting hawkular metrics $HAWKULAR_VERSION ..."
33+
echo "Starting hawkular-metrics:$HAWKULAR_VERSION ..."
3034
while ([ "$METRICS_STATUS" != "STARTED" ] || ( [ "$ALERTS_STATUS" != "STARTED" ] && [ "$HAWKULAR_VERSION" != "$LOWER_VERSION" ]) ) && [ ${TOTAL_WAIT} -lt ${MAX_STEPS} ]; do
3135
METRICS_STATUS=$(metrics_status)
3236
ALERTS_STATUS=$(alerts_status)
@@ -41,12 +45,30 @@ function wait_hawkular {
4145
done
4246
}
4347

48+
function wait_hawkular_alerts {
49+
ALERTS_STATUS=$(alerts_status)
50+
TOTAL_WAIT=0
51+
echo "Starting hawkular-alerts:$HAWKULAR_VERSION ..."
52+
while [ "$ALERTS_STATUS" != "STARTED" ] && [ ${TOTAL_WAIT} -lt ${MAX_STEPS} ]; do
53+
ALERTS_STATUS=$(alerts_status)
54+
sleep ${WAIT_STEP}
55+
echo "Hawkular alerts status: $ALERTS_STATUS"
56+
TOTAL_WAIT=$((TOTAL_WAIT+WAIT_STEP))
57+
echo "Waited $TOTAL_WAIT seconds for Hawkular alerts to start."
58+
done
59+
}
60+
61+
4462
function launch_hawkular {
4563
docker run --name hawkular-metrics -p 8080:8080 --link hawkular-cassandra -d ${HAWKULAR_IMAGE}
4664
}
4765

66+
function launch_hawkular_alerts {
67+
docker run --name hawkular-metrics -p 8080:8080 -d ${HAWKULAR_IMAGE}
68+
}
69+
4870
function launch_cassandra {
49-
docker run --name hawkular-cassandra -e CASSANDRA_START_RPC=true -d cassandra:3.7
71+
docker run --name hawkular-cassandra -e CASSANDRA_START_RPC=true -d cassandra:3.0.13
5072
}
5173

5274
function wait_cassandra {
@@ -61,7 +83,12 @@ function wait_cassandra {
6183
done
6284
}
6385

64-
launch_cassandra
65-
wait_cassandra
66-
launch_hawkular
67-
wait_hawkular
86+
if [[ "$HAWKULAR_IMAGE" == "hawkular/hawkular-alerts" ]]; then
87+
launch_hawkular_alerts
88+
wait_hawkular_alerts
89+
else
90+
launch_cassandra
91+
wait_cassandra
92+
launch_hawkular
93+
wait_hawkular
94+
fi

tests/base.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import os
22

33
version = os.environ.get('HAWKULAR_VERSION','latest')
4+
docker_image = os.environ.get('HAWKULAR_IMAGE','latest')
45

56
if version != 'latest':
67
major_version, minor_version = version.split('.')
78
major_version = int(major_version)
89
minor_version = int(minor_version)
910
else:
10-
major_version = minor_version = 0
11+
major_version = minor_version = 0
12+
13+
is_alerts_image = (docker_image == 'hawkular/hawkular-alerts')

tests/test_metrics.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import os
2323
import base64
2424
from datetime import datetime, timedelta
25+
from tests import base
2526

2627
try:
2728
import mock
@@ -39,7 +40,7 @@ def setUp(self):
3940
self.test_tenant = str(uuid.uuid4())
4041
self.client = HawkularMetricsClient(tenant_id=self.test_tenant, port=8080, authtoken='secret')
4142

42-
43+
@unittest.skipIf(base.is_alerts_image, "Metrics unavailable for this docker image")
4344
class TenantTestCase(TestMetricFunctionsBase):
4445
"""
4546
Test creating and fetching tenants. Each creation test should also
@@ -84,6 +85,8 @@ def test_verify(self, m_query_status, m_urlopen):
8485
# Incorrect capitalization due to urllib2
8586
self.assertEqual('EEFFGGHH', req.get_header('Hawkular-admin-token'))
8687

88+
89+
@unittest.skipIf(base.is_alerts_image, "Metrics unavailable for this docker image")
8790
class MetricsTestCase(TestMetricFunctionsBase):
8891
"""
8992
Test metric functionality, both adding definition and querying for definition,

0 commit comments

Comments
 (0)