mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-03 23:14:02 -07:00
[PR #10170/52cd1049 backport][stable-11] jenkins_credentials: new module to manage Jenkins credentials (#10294)
jenkins_credentials: new module to manage Jenkins credentials (#10170)
* Added Jenkins credentials module to manage Jenkins credentials
* Added Jenkins credentials module to manage Jenkins credentials
* Added import error detection, adjusted indentation, and general enhancements.
* Added py3 requirement and set files value to avoid errors
* Added username to BOTMETA. Switched to format() instead of f strings to support py 2.7, improved delete function, and added function to read private key
* Remove redundant message
* Replaced requests with ansible.module_utils.urls, merged check domain and credential functions, and made minor adjustments to documentation
* Adjusted for py 2.7 compatibility
* Replaced command with state.
* Added managing credentials within a folder and made adjustments to documentation
* Added unit and integration tests, added token managament, and adjusted documentation.
* Added unit and integration tests, added token management, and adjusted documentation.(fix)
* Fix BOTMETA.yml
* Removed files and generate them at runtime.
* moved id and token checks to required_if
* Documentation changes, different test setup, and switched to Ansible testing tools
* Fixed typos
* Correct indentation.
---------
(cherry picked from commit 52cd104962
)
Co-authored-by: YoussefKhalidAli <154611350+YoussefKhalidAli@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
30e2d9f26f
commit
ec87b44816
12 changed files with 1921 additions and 0 deletions
79
tests/integration/targets/jenkins_credential/tasks/main.yml
Normal file
79
tests/integration/targets/jenkins_credential/tasks/main.yml
Normal file
|
@ -0,0 +1,79 @@
|
|||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Prepare the test environment
|
||||
include_tasks: pre.yml
|
||||
vars:
|
||||
output_dir: "{{ playbook_dir }}/generated"
|
||||
|
||||
- name: Generate token
|
||||
community.general.jenkins_credential:
|
||||
name: "test-token"
|
||||
jenkins_user: "{{ jenkins_username }}"
|
||||
jenkins_password: "{{ jenkins_password }}"
|
||||
type: "token"
|
||||
no_log: yes
|
||||
register: token_result
|
||||
|
||||
- name: Assert token and tokenUuid are returned
|
||||
assert:
|
||||
that:
|
||||
- token_result.token is defined
|
||||
- token_result.token_uuid is defined
|
||||
fail_msg: "Token generation failed"
|
||||
success_msg: "Token and tokenUuid successfully returned"
|
||||
|
||||
- name: Set token facts
|
||||
set_fact:
|
||||
token: "{{ token_result.token }}"
|
||||
tokenUuid: "{{ token_result.token_uuid }}"
|
||||
|
||||
- name: Test adding new credentials and scopes
|
||||
include_tasks: add.yml
|
||||
vars:
|
||||
run_number: 1
|
||||
output_dir: "{{ playbook_dir }}/generated"
|
||||
|
||||
- name: Test adding credentials and scopes when they already exist
|
||||
include_tasks: add.yml
|
||||
vars:
|
||||
run_number: 2
|
||||
output_dir: "{{ playbook_dir }}/generated"
|
||||
|
||||
- name: Test editing credentials
|
||||
include_tasks: edit.yml
|
||||
vars:
|
||||
output_dir: "{{ playbook_dir }}/generated"
|
||||
|
||||
- name: Test deleting credentials and scopes
|
||||
include_tasks: del.yml
|
||||
vars:
|
||||
run_number: 1
|
||||
|
||||
- name: Test deleting credentials and scopes when they don't exist
|
||||
include_tasks: del.yml
|
||||
vars:
|
||||
run_number: 2
|
||||
|
||||
- name: Delete token
|
||||
community.general.jenkins_credential:
|
||||
id: "{{ tokenUuid }}"
|
||||
name: "test-token-2"
|
||||
jenkins_user: "{{ jenkins_username }}"
|
||||
jenkins_password: "{{ jenkins_password }}"
|
||||
state: "absent"
|
||||
type: "token"
|
||||
register: delete_token_result
|
||||
|
||||
- name: Assert token deletion
|
||||
assert:
|
||||
that:
|
||||
- delete_token_result.changed is true
|
||||
fail_msg: "Token deletion failed"
|
||||
success_msg: "Token successfully deleted"
|
||||
|
||||
- name: Remove generated test files
|
||||
ansible.builtin.file:
|
||||
path: "{{ playbook_dir }}/generated"
|
||||
state: absent
|
Loading…
Add table
Add a link
Reference in a new issue