-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcatalog.tests.bom
More file actions
117 lines (113 loc) · 4.66 KB
/
catalog.tests.bom
File metadata and controls
117 lines (113 loc) · 4.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
brooklyn.catalog:
items:
- "https://raw.githubusercontent.com/brooklyncentral/common-catalog-utils/master/common-tests/src/main/resources/commontests/common.tests.bom"
- id: brooklyn-mysql-node-tests
version: 0.2
itemType: template
iconUrl: https://www.mysql.com/common/logos/mysql-logo.svg
name: MySQL Node tests
description: Test that MySQL Node is running correctly
license_code: Apache-2.0
license_url: http://www.apache.org/licenses/LICENSE-2.0.txt
item:
services:
- type: brooklyn-mysql-node
id: mysqlnode
name: MySQL Node
brooklyn.config:
datastore.creation.script.contents: |
CREATE DATABASE temporary;
USE temporary;
CREATE TABLE users (name VARCHAR(20), owner VARCHAR(20), creation_date DATE, updated_date DATE);
INSERT INTO users VALUES ('mysql', 'mysql', CURDATE(), CURDATE())
- type: org.apache.brooklyn.test.framework.TestCase
name: MySQL Node tests
brooklyn.config:
targetId: mysqlnode
timeout: 1h
brooklyn.children:
- type: test-case
name: "1. Effector Restart, Stop & Restart Tests"
brooklyn.children:
- type: assert-up-and-running-initial
name: "1.1 Node up and running"
- type: assert-restart-process
name: "1.2 restart process"
brooklyn.config:
process.grep.name: "[m]ysql"
- type: assert-stop-and-restart-process
name: "1.3 stop and restart process"
brooklyn.config:
process.grep.name: "[m]ysql"
# Database creation tests
- type: test-case
name: "2. Database creation tests"
brooklyn.children:
- type: test-ssh
name: "2.1 Check MySQL creation script has been executed"
brooklyn.config:
runDir: $brooklyn:entity("mysqlnode").attributeWhenReady("run.dir")
command: $brooklyn:formatString("%s/bin/mysql --defaults-file=mymysql.cnf -N -e 'SELECT count(*) FROM users' temporary", $brooklyn:entity("mysqlnode").attributeWhenReady("expandedinstall.dir"))
assertStatus:
equals: 0
assertOut:
equals: "1"
assertErr:
isEmpty: true
# Effector: executeScript Tests
- type: test-case
name: "3. Effector: executeScript Tests"
brooklyn.children:
- type: invoke-effector
name: "3.1 Invoke executeScript Effector"
brooklyn.config:
effector: executeScript
params:
commands: |
USE temporary;
INSERT INTO users VALUES ('root', 'root', CURDATE(), CURDATE());
- type: test-ssh
name: "3.2 Check executeScript has changed database"
brooklyn.config:
runDir: $brooklyn:entity("mysqlnode").attributeWhenReady("run.dir")
command: $brooklyn:formatString("%s/bin/mysql --defaults-file=mymysql.cnf -N -e 'SELECT count(*) FROM users' temporary", $brooklyn:entity("mysqlnode").attributeWhenReady("expandedinstall.dir"))
assertStatus:
equals: 0
assertOut:
equals: "2"
assertErr:
isEmpty: true
# Effector: change_password Tests
- type: test-case
name: "4. Effector: change_password Tests"
brooklyn.children:
- type: invoke-effector
name: "4.1 Invoke change_password Effector"
brooklyn.config:
effector: change_password
params:
password: myPassword
- type: assert-sensor
name: "4.2 Check MySQL password has changed"
brooklyn.config:
sensor: mysql.password
assert:
- equals: myPassword