Class ZmsClientMock

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

    public class ZmsClientMock
    extends 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, String athenzPolicy, 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, Optional<String> reason)  
      void approvePendingRoleMembership​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole, com.yahoo.vespa.athenz.api.AthenzIdentity athenzIdentity, Instant expiry, Optional<String> reason)  
      void close()  
      void createOrUpdateService​(com.yahoo.vespa.athenz.api.AthenzService athenzService)  
      void createPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain, String athenzPolicy)  
      void createProviderResourceGroup​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity providerService, String resourceGroup, 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, Map<String,​Object> properties)  
      void createSubdomain​(com.yahoo.vespa.athenz.api.AthenzDomain parent, String name)  
      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, String resourceGroup, Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions)  
      boolean deletePolicyRule​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain, String athenzPolicy, 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, String resourceGroup, com.yahoo.vespa.athenz.api.OktaIdentityToken identityToken, com.yahoo.vespa.athenz.api.OktaAccessToken accessToken)  
      void deleteRole​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      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)  
      List<com.yahoo.vespa.athenz.api.AthenzDomain> getDomainList​(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)  
      Optional<com.yahoo.vespa.athenz.api.AthenzPolicy> getPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain domain, String name)  
      Set<com.yahoo.vespa.athenz.client.zms.RoleAction> getTenantResourceGroups​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain, com.yahoo.vespa.athenz.api.AthenzIdentity provider, String resourceGroup)  
      boolean hasAccess​(com.yahoo.vespa.athenz.api.AthenzResourceName resource, String action, com.yahoo.vespa.athenz.api.AthenzIdentity identity)  
      List<com.yahoo.vespa.athenz.api.AthenzIdentity> listMembers​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      Map<com.yahoo.vespa.athenz.api.AthenzIdentity,​String> listPendingRoleApprovals​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)  
      Set<String> listPolicies​(com.yahoo.vespa.athenz.api.AthenzDomain domain)  
      Set<com.yahoo.vespa.athenz.api.AthenzRole> listRoles​(com.yahoo.vespa.athenz.api.AthenzDomain domain)  
      List<com.yahoo.vespa.athenz.api.AthenzService> listServices​(com.yahoo.vespa.athenz.api.AthenzDomain athenzDomain)  
    • 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,
                                                String resourceGroup,
                                                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,
                                                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,
                                              String resourceGroup,
                                              Set<com.yahoo.vespa.athenz.client.zms.RoleAction> roleActions)
        Specified by:
        createTenantResourceGroup in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • getTenantResourceGroups

        public Set<com.yahoo.vespa.athenz.client.zms.RoleAction> getTenantResourceGroups​(com.yahoo.vespa.athenz.api.AthenzDomain tenantDomain,
                                                                                         com.yahoo.vespa.athenz.api.AthenzIdentity provider,
                                                                                         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,
                                  Optional<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 List<com.yahoo.vespa.athenz.api.AthenzDomain> getDomainList​(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,
                                 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,
                                 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,
                                  String athenzPolicy,
                                  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,
                                        String athenzPolicy,
                                        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 Optional<com.yahoo.vespa.athenz.api.AthenzPolicy> getPolicy​(com.yahoo.vespa.athenz.api.AthenzDomain domain,
                                                                           String name)
        Specified by:
        getPolicy in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listPendingRoleApprovals

        public Map<com.yahoo.vespa.athenz.api.AthenzIdentity,​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.AthenzIdentity athenzIdentity,
                                                 Instant expiry,
                                                 Optional<String> reason)
        Specified by:
        approvePendingRoleMembership in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listMembers

        public 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 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,
                               Map<String,​Object> properties)
        Specified by:
        createRole in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • listRoles

        public 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 Set<String> listPolicies​(com.yahoo.vespa.athenz.api.AthenzDomain domain)
        Specified by:
        listPolicies in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • deleteRole

        public void deleteRole​(com.yahoo.vespa.athenz.api.AthenzRole athenzRole)
        Specified by:
        deleteRole in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • createSubdomain

        public void createSubdomain​(com.yahoo.vespa.athenz.api.AthenzDomain parent,
                                    String name)
        Specified by:
        createSubdomain in interface com.yahoo.vespa.athenz.client.zms.ZmsClient
      • close

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