Class ZmsClientMock

  • All Implemented Interfaces:
    com.yahoo.vespa.athenz.client.zms.ZmsClient, java.lang.AutoCloseable

    public class ZmsClientMock
    extends java.lang.Object
    implements com.yahoo.vespa.athenz.client.zms.ZmsClient
    Author:
    bjorncs
    • Constructor Summary

      Constructors 
      Constructor Description
      ZmsClientMock​(AthenzDbMock athenz, com.yahoo.vespa.athenz.api.AthenzIdentity controllerIdentity)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPolicyRule​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain, java.lang.String athenzPolicy, java.lang.String action, com.yahoo.vespa.athenz.api.AthenzResourceName resourceName, com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      void addRoleMember​(com.yahoo.vespa.athenz.api.AthenzRole role, com.yahoo.vespa.athenz.api.AthenzIdentity member, java.util.Optional<java.lang.String> reason)  
      void approvePendingRoleMembership​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole, com.yahoo.vespa.athenz.api.AthenzUser athenzUser, java.time.Instant expiry, java.util.Optional<java.lang.String> reason)  
      void close()  
      void createOrUpdateService​(com.yahoo.vespa.athenz.api.AthenzService athenzService)  
      void createPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain, java.lang.String athenzPolicy)  
      void createProviderResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity providerService, java.lang.String resourceGroup, java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions, com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken, com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)  
      void createRole​(com.yahoo.vespa.athenz.api.AthenzRole role, java.util.Map<java.lang.String,​java.lang.Object> properties)  
      void createTenancy​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity providerService, com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken, com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)  
      void createTenantResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity provider, java.lang.String resourceGroup, java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions)  
      boolean deletePolicyRule​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain, java.lang.String athenzPolicy, java.lang.String action, com.yahoo.vespa.athenz.api.AthenzResourceName resourceName, com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      void deleteProviderResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity providerService, java.lang.String resourceGroup, com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken, com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)  
      void deleteRoleMember​(com.yahoo.vespa.athenz.api.AthenzRole role, com.yahoo.vespa.athenz.api.AthenzIdentity member)  
      void deleteService​(com.yahoo.vespa.athenz.api.AthenzService athenzService)  
      void deleteTenancy​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity providerService, com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken, com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)  
      java.util.List<com.yahoo.vespa.athenz.api.AthenzDomain> getDomainList​(java.lang.String prefix)  
      boolean getGroupMembership​(com.yahoo.vespa.athenz.api.AthenzGroup group, com.yahoo.vespa.athenz.api.AthenzIdentity identity)  
      boolean getMembership​(com.yahoo.vespa.athenz.api.AthenzRole role, com.yahoo.vespa.athenz.api.AthenzIdentity identity)  
      java.util.Optional<com.yahoo.vespa.athenz.api.AthenzPolicy> getPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain domain, java.lang.String name)  
      java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> getTenantResourceGroups​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity provider, java.lang.String resourceGroup)  
      boolean hasAccess​(com.yahoo.vespa.athenz.api.AthenzResourceName resource, java.lang.String action, com.yahoo.vespa.athenz.api.AthenzIdentity identity)  
      java.util.List<com.yahoo.vespa.athenz.api.AthenzIdentity> listMembers​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      java.util.Map<com.yahoo.vespa.athenz.api.AthenzUser,​java.lang.String> listPendingRoleApprovals​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      java.util.Set<java.lang.String> listPolicies​(com.yahoo.vespa.athenz.api.AthenzDomain domain)  
      java.util.Set<com.yahoo.vespa.athenz.api.AthenzRole> listRoles​(com.yahoo.vespa.athenz.api.AthenzDomain domain)  
      java.util.List<com.yahoo.vespa.athenz.api.AthenzService> listServices​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ZmsClientMock

        public ZmsClientMock​(AthenzDbMock athenz,
                             com.yahoo.vespa.athenz.api.AthenzIdentity controllerIdentity)
    • Method Detail

      • createTenancy

        public void createTenancy​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                  com.yahoo.vespa.athenz.api.AthenzIdentity providerService,
                                  com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken,
                                  com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)
        Specified by:
        createTenancy in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deleteTenancy

        public void deleteTenancy​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                  com.yahoo.vespa.athenz.api.AthenzIdentity providerService,
                                  com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken,
                                  com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)
        Specified by:
        deleteTenancy in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createProviderResourceGroup

        public void createProviderResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                                com.yahoo.vespa.athenz.api.AthenzIdentity providerService,
                                                java.lang.String resourceGroup,
                                                java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions,
                                                com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken,
                                                com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)
        Specified by:
        createProviderResourceGroup in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deleteProviderResourceGroup

        public void deleteProviderResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                                com.yahoo.vespa.athenz.api.AthenzIdentity providerService,
                                                java.lang.String resourceGroup,
                                                com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken,
                                                com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)
        Specified by:
        deleteProviderResourceGroup in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createTenantResourceGroup

        public void createTenantResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                              com.yahoo.vespa.athenz.api.AthenzIdentity provider,
                                              java.lang.String resourceGroup,
                                              java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions)
        Specified by:
        createTenantResourceGroup in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getTenantResourceGroups

        public java.util.Set<com.yahoo.vespa.athenz.client.zms.RoleAction> getTenantResourceGroups​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                                                                                   com.yahoo.vespa.athenz.api.AthenzIdentity provider,
                                                                                                   java.lang.String resourceGroup)
        Specified by:
        getTenantResourceGroups in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • addRoleMember

        public void addRoleMember​(com.yahoo.vespa.athenz.api.AthenzRole role,
                                  com.yahoo.vespa.athenz.api.AthenzIdentity member,
                                  java.util.Optional<java.lang.String> reason)
        Specified by:
        addRoleMember in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deleteRoleMember

        public void deleteRoleMember​(com.yahoo.vespa.athenz.api.AthenzRole role,
                                     com.yahoo.vespa.athenz.api.AthenzIdentity member)
        Specified by:
        deleteRoleMember in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getMembership

        public boolean getMembership​(com.yahoo.vespa.athenz.api.AthenzRole role,
                                     com.yahoo.vespa.athenz.api.AthenzIdentity identity)
        Specified by:
        getMembership in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getGroupMembership

        public boolean getGroupMembership​(com.yahoo.vespa.athenz.api.AthenzGroup group,
                                          com.yahoo.vespa.athenz.api.AthenzIdentity identity)
        Specified by:
        getGroupMembership in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getDomainList

        public java.util.List<com.yahoo.vespa.athenz.api.AthenzDomain> getDomainList​(java.lang.String prefix)
        Specified by:
        getDomainList in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • hasAccess

        public boolean hasAccess​(com.yahoo.vespa.athenz.api.AthenzResourceName resource,
                                 java.lang.String action,
                                 com.yahoo.vespa.athenz.api.AthenzIdentity identity)
        Specified by:
        hasAccess in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createPolicy

        public void createPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain,
                                 java.lang.String athenzPolicy)
        Specified by:
        createPolicy in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • addPolicyRule

        public void addPolicyRule​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain,
                                  java.lang.String athenzPolicy,
                                  java.lang.String action,
                                  com.yahoo.vespa.athenz.api.AthenzResourceName resourceName,
                                  com.yahoo.vespa.athenz.api.AthenzRole athenzRole)
        Specified by:
        addPolicyRule in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deletePolicyRule

        public boolean deletePolicyRule​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain,
                                        java.lang.String athenzPolicy,
                                        java.lang.String action,
                                        com.yahoo.vespa.athenz.api.AthenzResourceName resourceName,
                                        com.yahoo.vespa.athenz.api.AthenzRole athenzRole)
        Specified by:
        deletePolicyRule in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getPolicy

        public java.util.Optional<com.yahoo.vespa.athenz.api.AthenzPolicy> getPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain domain,
                                                                                     java.lang.String name)
        Specified by:
        getPolicy in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listPendingRoleApprovals

        public java.util.Map<com.yahoo.vespa.athenz.api.AthenzUser,​java.lang.String> listPendingRoleApprovals​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)
        Specified by:
        listPendingRoleApprovals in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • approvePendingRoleMembership

        public void approvePendingRoleMembership​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole,
                                                 com.yahoo.vespa.athenz.api.AthenzUser athenzUser,
                                                 java.time.Instant expiry,
                                                 java.util.Optional<java.lang.String> reason)
        Specified by:
        approvePendingRoleMembership in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listMembers

        public java.util.List<com.yahoo.vespa.athenz.api.AthenzIdentity> listMembers​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)
        Specified by:
        listMembers in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listServices

        public java.util.List<com.yahoo.vespa.athenz.api.AthenzService> listServices​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain)
        Specified by:
        listServices in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createOrUpdateService

        public void createOrUpdateService​(com.yahoo.vespa.athenz.api.AthenzService athenzService)
        Specified by:
        createOrUpdateService in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deleteService

        public void deleteService​(com.yahoo.vespa.athenz.api.AthenzService athenzService)
        Specified by:
        deleteService in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createRole

        public void createRole​(com.yahoo.vespa.athenz.api.AthenzRole role,
                               java.util.Map<java.lang.String,​java.lang.Object> properties)
        Specified by:
        createRole in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listRoles

        public java.util.Set<com.yahoo.vespa.athenz.api.AthenzRole> listRoles​(com.yahoo.vespa.athenz.api.AthenzDomain domain)
        Specified by:
        listRoles in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listPolicies

        public java.util.Set<java.lang.String> listPolicies​(com.yahoo.vespa.athenz.api.AthenzDomain domain)
        Specified by:
        listPolicies in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface com.yahoo.vespa.athenz.client.zms.ZmsClient