Merge "update doc and add new JJB unit tests"
This commit is contained in:
commit
4ac4b88e5a
@ -11,6 +11,25 @@ systems, including Jenkins. If you use Puppet, you can use the
|
||||
|
||||
__ https://github.com/openstack-infra/config/tree/master/modules/jenkins
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
Documentation have been included and are in the 'doc' folder. To generate docs
|
||||
locally execute the command::
|
||||
|
||||
tox -e venv -- python setup.py build_sphinx
|
||||
|
||||
Unit Tests
|
||||
----------
|
||||
|
||||
Unit tests have been included and are in the 'tests' folder. We recently
|
||||
started including unit tests as examples in our documentation so to keep the
|
||||
examples up to date it is very important that we include a unit tests for
|
||||
every module. You can run the unit tests by execute the command::
|
||||
|
||||
tox -epy27
|
||||
|
||||
*Note - view tox.ini to run test on other versions of python
|
||||
|
||||
Configuration File
|
||||
------------------
|
||||
@ -54,15 +73,18 @@ Usage
|
||||
^^^^^
|
||||
.. program-output:: jenkins-jobs --help
|
||||
|
||||
Testing
|
||||
^^^^^^^
|
||||
Once you have a configuration defined, you can test it with::
|
||||
Testing JJB
|
||||
^^^^^^^^^^^
|
||||
Once you have a configuration defined, you can test the job builder by running::
|
||||
|
||||
jenkins-jobs test /path/to/config -o /path/to/output
|
||||
|
||||
That will write XML files to the output directory for all of the jobs
|
||||
defined in the configuration directory. When you're satisfied, you
|
||||
can run::
|
||||
defined in the configuration directory.
|
||||
|
||||
Updating Jenkins
|
||||
^^^^^^^^^^^^^^^^
|
||||
When you're satisfied with the generated xml from the test, you can run::
|
||||
|
||||
jenkins-jobs update /path/to/config
|
||||
|
||||
|
@ -49,7 +49,7 @@ def http_endpoint(parser, xml_parent, data):
|
||||
|
||||
notifications:
|
||||
- http:
|
||||
url: http://example.com/jenkins_endpoint
|
||||
url: http://example.com/jenkins_endpoint
|
||||
"""
|
||||
endpoint_element = XML.SubElement(xml_parent,
|
||||
'com.tikal.hudson.plugins.notification.'
|
||||
|
0
tests/builders/__init__.py
Normal file
0
tests/builders/__init__.py
Normal file
37
tests/builders/fixtures/trigger-builds001.xml
Normal file
37
tests/builders/fixtures/trigger-builds001.xml
Normal file
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<builders>
|
||||
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||
<configs>
|
||||
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||
<configs>
|
||||
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
||||
<properties>FOO="bar"</properties>
|
||||
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
||||
</configs>
|
||||
<projects>build_started</projects>
|
||||
<condition>ALWAYS</condition>
|
||||
<triggerWithNoParameters>false</triggerWithNoParameters>
|
||||
<buildAllNodesWithLabel>false</buildAllNodesWithLabel>
|
||||
<block>
|
||||
<buildStepFailureThreshold>
|
||||
<name>FAILURE</name>
|
||||
<ordinal>2</ordinal>
|
||||
<color>RED</color>
|
||||
</buildStepFailureThreshold>
|
||||
<unstableThreshold>
|
||||
<name>UNSTABLE</name>
|
||||
<ordinal>1</ordinal>
|
||||
<color>Yellow</color>
|
||||
</unstableThreshold>
|
||||
<failureThreshold>
|
||||
<name>FAILURE</name>
|
||||
<ordinal>2</ordinal>
|
||||
<color>RED</color>
|
||||
</failureThreshold>
|
||||
</block>
|
||||
</hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||
</configs>
|
||||
</hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||
</builders>
|
||||
</project>
|
6
tests/builders/fixtures/trigger-builds001.yaml
Normal file
6
tests/builders/fixtures/trigger-builds001.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
builders:
|
||||
- trigger-builds:
|
||||
- project: "build_started"
|
||||
predefined-parameters:
|
||||
FOO="bar"
|
||||
block: true
|
28
tests/builders/test_builders.py
Normal file
28
tests/builders/test_builders.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import builders
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleBuilders(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = builders.Builders
|
@ -1,3 +1,20 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
|
0
tests/notifications/__init__.py
Normal file
0
tests/notifications/__init__.py
Normal file
13
tests/notifications/fixtures/http-endpoint001.xml
Normal file
13
tests/notifications/fixtures/http-endpoint001.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<properties>
|
||||
<com.tikal.hudson.plugins.notification.HudsonNotificationProperty>
|
||||
<endpoints>
|
||||
<com.tikal.hudson.plugins.notification.Endpoint>
|
||||
<protocol>HTTP</protocol>
|
||||
<url>http://example.com/jenkins_endpoint</url>
|
||||
</com.tikal.hudson.plugins.notification.Endpoint>
|
||||
</endpoints>
|
||||
</com.tikal.hudson.plugins.notification.HudsonNotificationProperty>
|
||||
</properties>
|
||||
</project>
|
3
tests/notifications/fixtures/http-endpoint001.yaml
Normal file
3
tests/notifications/fixtures/http-endpoint001.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
notifications:
|
||||
- http:
|
||||
url: http://example.com/jenkins_endpoint
|
28
tests/notifications/test_notifications.py
Normal file
28
tests/notifications/test_notifications.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import notifications
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleNotifications(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = notifications.Notifications
|
0
tests/parameters/__init__.py
Normal file
0
tests/parameters/__init__.py
Normal file
26
tests/parameters/fixtures/dynamic-choice-param001.xml
Normal file
26
tests/parameters/fixtures/dynamic-choice-param001.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<properties>
|
||||
<hudson.model.ParametersDefinitionProperty>
|
||||
<parameterDefinitions>
|
||||
<com.seitenbau.jenkins.plugins.dynamicparameter.ChoiceParameterDefinition>
|
||||
<name>OPTIONS</name>
|
||||
<description>Available options</description>
|
||||
<__remote>false</__remote>
|
||||
<__script>['optionA', 'optionB']</__script>
|
||||
<__localBaseDirectory serialization="custom">
|
||||
<hudson.FilePath>
|
||||
<default>
|
||||
<remote>/var/lib/jenkins/dynamic_parameter/classpath</remote>
|
||||
</default>
|
||||
<boolean>true</boolean>
|
||||
</hudson.FilePath>
|
||||
</__localBaseDirectory>
|
||||
<__remoteBaseDirectory>dynamic_parameter_classpath</__remoteBaseDirectory>
|
||||
<__classPath/>
|
||||
<readonlyInputField>false</readonlyInputField>
|
||||
</com.seitenbau.jenkins.plugins.dynamicparameter.ChoiceParameterDefinition>
|
||||
</parameterDefinitions>
|
||||
</hudson.model.ParametersDefinitionProperty>
|
||||
</properties>
|
||||
</project>
|
7
tests/parameters/fixtures/dynamic-choice-param001.yaml
Normal file
7
tests/parameters/fixtures/dynamic-choice-param001.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
parameters:
|
||||
- dynamic-choice:
|
||||
name: OPTIONS
|
||||
description: "Available options"
|
||||
script: "['optionA', 'optionB']"
|
||||
remote: false
|
||||
read-only: false
|
28
tests/parameters/test_parameters.py
Normal file
28
tests/parameters/test_parameters.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from testtools import TestCase
|
||||
from jenkins_jobs.modules import parameters
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleParameters(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = parameters.Parameters
|
0
tests/properties/__init__.py
Normal file
0
tests/properties/__init__.py
Normal file
16
tests/properties/fixtures/throttle001.xml
Normal file
16
tests/properties/fixtures/throttle001.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<properties>
|
||||
<hudson.plugins.throttleconcurrents.ThrottleJobProperty>
|
||||
<maxConcurrentPerNode>0</maxConcurrentPerNode>
|
||||
<maxConcurrentTotal>4</maxConcurrentTotal>
|
||||
<throttleEnabled>true</throttleEnabled>
|
||||
<categories>
|
||||
<string>cat1</string>
|
||||
<string>cat2</string>
|
||||
</categories>
|
||||
<throttleOption/>
|
||||
<configVersion>1</configVersion>
|
||||
</hudson.plugins.throttleconcurrents.ThrottleJobProperty>
|
||||
</properties>
|
||||
</project>
|
6
tests/properties/fixtures/throttle001.yaml
Normal file
6
tests/properties/fixtures/throttle001.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
properties:
|
||||
- throttle:
|
||||
max-total: 4
|
||||
categories:
|
||||
- cat1
|
||||
- cat2
|
28
tests/properties/test_properties.py
Normal file
28
tests/properties/test_properties.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import properties
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleProperties(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = properties.Properties
|
@ -1,5 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
@ -24,7 +22,7 @@ from jenkins_jobs.modules import publishers
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModulePublisher(TestWithScenarios, TestCase, BaseTestCase):
|
||||
class TestCaseModulePublishers(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = publishers.Publishers
|
||||
|
15
tests/scm/fixtures/repo001.xml
Normal file
15
tests/scm/fixtures/repo001.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<scm class="hudson.plugins.repo.RepoScm">
|
||||
<manifestRepositoryUrl>https://example.com/project/</manifestRepositoryUrl>
|
||||
<manifestBranch>stable</manifestBranch>
|
||||
<manifestFile>repo.xml</manifestFile>
|
||||
<manifestGroup>drivers</manifestGroup>
|
||||
<destinationDir>build</destinationDir>
|
||||
<repoUrl>https://internal.net/projects/repo</repoUrl>
|
||||
<mirrorDir>~/git/project/</mirrorDir>
|
||||
<jobs>3</jobs>
|
||||
<currentBranch>false</currentBranch>
|
||||
<quiet>false</quiet>
|
||||
</scm>
|
||||
</project>
|
12
tests/scm/fixtures/repo001.yaml
Normal file
12
tests/scm/fixtures/repo001.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
scm:
|
||||
- repo:
|
||||
manifest-url: https://example.com/project/
|
||||
manifest-branch: stable
|
||||
manifest-file: repo.xml
|
||||
manifest-group: drivers
|
||||
destination-dir: build
|
||||
repo-url: https://internal.net/projects/repo
|
||||
mirror-dir: ~/git/project/
|
||||
jobs: 3
|
||||
current-branch: false
|
||||
quiet: false
|
@ -1,5 +1,3 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
@ -18,13 +16,13 @@
|
||||
# under the License.
|
||||
|
||||
import os
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import scm
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleScm(TestWithScenarios, TestCase, BaseTestCase):
|
||||
class TestCaseModuleSCM(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = scm.SCM
|
||||
|
0
tests/triggers/__init__.py
Normal file
0
tests/triggers/__init__.py
Normal file
48
tests/triggers/fixtures/gerrit001.xml
Normal file
48
tests/triggers/fixtures/gerrit001.xml
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<triggers class="vector">
|
||||
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
|
||||
<spec/>
|
||||
<gerritProjects>
|
||||
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
|
||||
<compareType>PLAIN</compareType>
|
||||
<pattern>test-project</pattern>
|
||||
<branches>
|
||||
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
|
||||
<compareType>ANT</compareType>
|
||||
<pattern>**</pattern>
|
||||
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
|
||||
</branches>
|
||||
<filePaths>
|
||||
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.FilePath>
|
||||
<compareType>ANT</compareType>
|
||||
<pattern>subdirectory/**</pattern>
|
||||
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.FilePath>
|
||||
</filePaths>
|
||||
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
|
||||
</gerritProjects>
|
||||
<skipVote>
|
||||
<onSuccessful>true</onSuccessful>
|
||||
<onFailed>true</onFailed>
|
||||
<onUnstable>true</onUnstable>
|
||||
<onNotBuilt>true</onNotBuilt>
|
||||
</skipVote>
|
||||
<silentMode>false</silentMode>
|
||||
<escapeQuotes>false</escapeQuotes>
|
||||
<noNameAndEmailParameters>false</noNameAndEmailParameters>
|
||||
<dynamicTriggerConfiguration>True</dynamicTriggerConfiguration>
|
||||
<triggerConfigURL>http://myhost/mytrigger</triggerConfigURL>
|
||||
<triggerOnEvents>
|
||||
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent>
|
||||
<verdictCategory>APRV</verdictCategory>
|
||||
<commentAddedTriggerApprovalValue>1</commentAddedTriggerApprovalValue>
|
||||
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.events.PluginCommentAddedEvent>
|
||||
</triggerOnEvents>
|
||||
<buildStartMessage/>
|
||||
<buildFailureMessage/>
|
||||
<buildSuccessfulMessage/>
|
||||
<buildUnstableMessage/>
|
||||
<customUrl/>
|
||||
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
|
||||
</triggers>
|
||||
</project>
|
23
tests/triggers/fixtures/gerrit001.yaml
Normal file
23
tests/triggers/fixtures/gerrit001.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
triggers:
|
||||
- gerrit:
|
||||
trigger-on-comment-added-event: true
|
||||
trigger-approval-category: 'APRV'
|
||||
trigger-approval-value: 1
|
||||
projects:
|
||||
- project-compare-type: 'PLAIN'
|
||||
project-pattern: 'test-project'
|
||||
branch-compare-type: 'ANT'
|
||||
branch-pattern: '**'
|
||||
file-paths:
|
||||
- compare-type: ANT
|
||||
pattern: subdirectory/**
|
||||
skip-vote:
|
||||
successful: true
|
||||
failed: true
|
||||
unstable: true
|
||||
notbuilt: true
|
||||
silent: false
|
||||
escape-quotes: false
|
||||
no-name-and-email: false
|
||||
dynamic-trigger-enabled: true
|
||||
dynamic-trigger-url: http://myhost/mytrigger
|
28
tests/triggers/test_triggers.py
Normal file
28
tests/triggers/test_triggers.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import triggers
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleTriggers(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = triggers.Triggers
|
0
tests/wrappers/__init__.py
Normal file
0
tests/wrappers/__init__.py
Normal file
8
tests/wrappers/fixtures/env-file001.xml
Normal file
8
tests/wrappers/fixtures/env-file001.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<project>
|
||||
<buildWrappers>
|
||||
<hudson.plugins.envfile.EnvFileBuildWrapper>
|
||||
<filePath>/tmp/foo.txt</filePath>
|
||||
</hudson.plugins.envfile.EnvFileBuildWrapper>
|
||||
</buildWrappers>
|
||||
</project>
|
3
tests/wrappers/fixtures/env-file001.yaml
Normal file
3
tests/wrappers/fixtures/env-file001.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
wrappers:
|
||||
- env-file:
|
||||
properties-file: /tmp/foo.txt
|
28
tests/wrappers/test_wrappers.py
Normal file
28
tests/wrappers/test_wrappers.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Joint copyright:
|
||||
# - Copyright 2012,2013 Wikimedia Foundation
|
||||
# - Copyright 2012,2013 Antoine "hashar" Musso
|
||||
# - Copyright 2013 Arnaud Fabre
|
||||
#
|
||||
# Licensed 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.
|
||||
|
||||
import os
|
||||
from testtools import TestCase
|
||||
from testscenarios.testcase import TestWithScenarios
|
||||
from jenkins_jobs.modules import wrappers
|
||||
from tests.base import get_scenarios, BaseTestCase
|
||||
|
||||
|
||||
class TestCaseModuleWrappers(TestWithScenarios, TestCase, BaseTestCase):
|
||||
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
||||
scenarios = get_scenarios(fixtures_path)
|
||||
klass = wrappers.Wrappers
|
Loading…
Reference in New Issue
Block a user