Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: notification.miloapis.com/v1alpha1
kind: Email
metadata:
name: (join('-', [$pi.metadata.uid, 'platform-invitation-e2e']))
namespace: milo-system
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: iam.miloapis.com/v1alpha1
kind: PlatformInvitation
metadata:
name: platform-invitation-e2e
status:
conditions:
- type: Ready
status: "True"
reason: Reconciled


Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: iam.miloapis.com/v1alpha1
kind: User
metadata:
name: platform-invited-user
status:
registrationApproval: Approved


Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: iam.miloapis.com/v1alpha1
kind: PlatformAccessApproval
metadata:
name: (join('-', [$pi.metadata.uid, 'platform-invitation-e2e']))
spec:
subjectRef:
email: invited.user@example.com
62 changes: 62 additions & 0 deletions test/iam/platform-invitation/chainsaw-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: platform-invitation
spec:
description: |
Validate PlatformInvitation end-to-end:
- Load EmailTemplate used by the controller
- Create PlatformInvitation
- Verify PlatformInvitation Ready=True
- Verify Email created in milo-system
- Create User with matching email
- Verify User registrationApproval=Approved
steps:
- name: setup-template
description: Apply the EmailTemplate required by PlatformInvitation controller
try:
- apply:
file: resources/email-template.yaml

- name: create-invitation
description: Create the PlatformInvitation
try:
- apply:
file: resources/platform-invitation.yaml
outputs:
- name: pi
value: (@)
- wait:
apiVersion: iam.miloapis.com/v1alpha1
kind: PlatformInvitation
name: platform-invitation-e2e
timeout: 2m
for:
condition:
name: Ready
value: 'True'
- assert:
file: assertions/assert-platforminvitation-ready.yaml
- assert:
file: assertions/assert-email-exists.yaml
- assert:
file: assertions/platformaccessapproval-exists.yaml

- name: create-user-and-verify
description: Create the User and verify registrationApproval becomes Approved
try:
- apply:
file: resources/user.yaml
- wait:
apiVersion: iam.miloapis.com/v1alpha1
kind: User
name: platform-invited-user
timeout: 2m
for:
condition:
name: Ready
value: 'True'
- assert:
file: assertions/assert-user-approved.yaml


313 changes: 313 additions & 0 deletions test/iam/platform-invitation/resources/email-template.yaml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions test/iam/platform-invitation/resources/platform-invitation.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: iam.miloapis.com/v1alpha1
kind: PlatformInvitation
metadata:
name: platform-invitation-e2e
spec:
email: invited.user@example.com
givenName: Invited
familyName: User


10 changes: 10 additions & 0 deletions test/iam/platform-invitation/resources/user.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: iam.miloapis.com/v1alpha1
kind: User
metadata:
name: platform-invited-user
spec:
email: invited.user@example.com
givenName: Invited
familyName: User