Skip to content

Commit

Permalink
Added functional test
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-variacode committed Nov 29, 2024
1 parent f99e9ab commit 9e0847e
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 1 deletion.
39 changes: 39 additions & 0 deletions functional-test/src/test/groovy/functional/MaxAliasesSpec.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package functional

import functional.base.BaseTestConfiguration
import org.testcontainers.spock.Testcontainers

@Testcontainers
class MaxAliasesSpec extends BaseTestConfiguration {

static String PROJ_NAME = 'ansible-max-aliases'
static String NODE_1 = 'proxy-1.example.net'
static String NODE_2 = 'proxy-2.example.net'
static String NODE_3 = 'proxy-3.example.net'

def setupSpec() {
startCompose()
configureRundeck(PROJ_NAME, NODE_1)
}

void "max aliases"() {
when:
def result = client.apiCall {api-> api.listNodes(PROJ_NAME,'.*')}

then:
result != null
result.size() == 4
result.get(NODE_1) != null
result.get(NODE_1).getAttributes().get('nodename') == NODE_1
result.get(NODE_1).getAttributes().get('hostname') == NODE_1
result.get(NODE_1).getAttributes().get('tags') == 'fr, fr1'
result.get(NODE_2) != null
result.get(NODE_2).getAttributes().get('nodename') == NODE_2
result.get(NODE_2).getAttributes().get('hostname') == NODE_2
result.get(NODE_2).getAttributes().get('tags') == 'fr, fr1'
result.get(NODE_3) != null
result.get(NODE_3).getAttributes().get('nodename') == NODE_3
result.get(NODE_3).getAttributes().get('hostname') == NODE_3
result.get(NODE_3).getAttributes().get('tags') == 'fr2'
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[defaults]
inventory=/home/rundeck/ansible-max-aliases/inventory_max_aliases_52.ini
interpreter_python=/usr/bin/python3



Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[fr:children]
fr1
fr2

[fr:vars]
api_dcs=["fr1","fr2"]
alias_01=["data-01","data-02"]
alias_02=["data-01","data-02"]
alias_03=["data-01","data-02"]
alias_04=["data-01","data-02"]
alias_05=["data-01","data-02"]
alias_06=["data-01","data-02"]
alias_07=["data-01","data-02"]
alias_08=["data-01","data-02"]
alias_09=["data-01","data-02"]
alias_10=["data-01","data-02"]
alias_11=["data-01","data-02"]
alias_12=["data-01","data-02"]
alias_13=["data-01","data-02"]
alias_14=["data-01","data-02"]
alias_15=["data-01","data-02"]
alias_16=["data-01","data-02"]
alias_17=["data-01","data-02"]
alias_18=["data-01","data-02"]
alias_19=["data-01","data-02"]
alias_20=["data-01","data-02"]
alias_21=["data-01","data-02"]
alias_22=["data-01","data-02"]
alias_23=["data-01","data-02"]
alias_24=["data-01","data-02"]
alias_25=["data-01","data-02"]

[fr1]
proxy-1.example.net name=proxy-1 peers_ip=10.3.13.221 mgmt_ip=10.3.16.221 is_mon_master=True
proxy-2.example.net name=proxy-2 peers_ip=10.3.13.222 mgmt_ip=10.3.16.222 is_mon_master=True

[fr2]
proxy-3.example.net name=proxy-3 peers_ip=10.3.13.223 mgmt_ip=10.3.16.223 is_mon_master=True
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ services:
- ./ansible-list:/home/rundeck/ansible-list:rw
- ./ansible-yaml-parsing:/home/rundeck/ansible-yaml-parsing:rw
- ./ansible-child-groups:/home/rundeck/ansible-child-groups:rw
- ./ansible-max-aliases:/home/rundeck/ansible-max-aliases:rw

volumes:
rundeck-data:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ RUN apt-get -y install sshpass && \
apt-get -y install sudo && \
pip3 install --upgrade pip

RUN pip3 install ansible==9.6.0
RUN pip3 install ansible==9.6.1

RUN ln -s /usr/bin/python3 /usr/bin/python

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
by:
urn: project:ansible-yaml-parsing
for:
storage:
- match:
path: 'keys/.*'
allow: [read]
description: Allow access to key storage
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#edit below
project.disable.executions=false
project.disable.schedule=false
project.execution.history.cleanup.batch=500
project.execution.history.cleanup.enabled=false
project.execution.history.cleanup.retention.days=60
project.execution.history.cleanup.retention.minimum=50
project.execution.history.cleanup.schedule=0 0 0 1/1 * ? *
project.jobs.gui.groupExpandLevel=1
project.later.executions.disable.value=0
project.later.executions.disable=false
project.later.executions.enable.value=
project.later.executions.enable=false
project.later.schedule.disable.value=
project.later.schedule.disable=false
project.later.schedule.enable.value=
project.later.schedule.enable=false
project.name=ansible-max-aliases
project.nodeCache.enabled=false
project.nodeCache.firstLoadSynch=true
project.output.allowUnsanitized=false
project.retry-counter=3
project.ssh-authentication=privateKey
resources.source.1.type=local
resources.source.2.config.ansible-config-file-path=/home/rundeck/ansible-max-aliases/ansible.cfg
resources.source.2.config.ansible-gather-facts=false
resources.source.2.config.ansible-ignore-errors=true
resources.source.2.config.ansible-inventory=/home/rundeck/ansible-max-aliases/inventory_max_aliases_52.ini
resources.source.2.config.ansible-yaml-max-aliases=53
resources.source.2.type=com.batix.rundeck.plugins.AnsibleResourceModelSourceFactory
service.FileCopier.default.provider=sshj-scp
service.NodeExecutor.default.provider=sshj-ssh

0 comments on commit 9e0847e

Please sign in to comment.