Class KiwiServletMocks


  • @Beta
    public final class KiwiServletMocks
    extends Object
    Static utilities to create Mockito-based mocks for servlet API code.
    • Method Detail

      • mockHttpServletRequestWithCertificate

        public static javax.servlet.http.HttpServletRequest mockHttpServletRequestWithCertificate​(String dn)
        Create a mock HttpServletRequest with the given subject distinguished name.
        Parameters:
        dn - the subject distinguished name
        Returns:
        a mocked HttpServletRequest with the given subject distinguished name
        Implementation Note:
        Don't inline the 'certificate' in the thenReturn() call on the mock request. For some reason that I have not fully investigated, Mockito gets really upset and throws a UnfinishedStubbingException.
      • mockHttpServletRequestWithNoCertificate

        public static javax.servlet.http.HttpServletRequest mockHttpServletRequestWithNoCertificate()
        Create a mock HttpServletRequest that contains no X509 certificate.
        Returns:
        a mocked HttpServletRequest with no X.509 certificate
        Implementation Note:
        This is not strictly necessary since a Mockito mock will return null for methods that return a reference type if not provided any expectations. But, it makes test code more explicit about the intent of the code, so that's why this exists.
      • matchesExpectedCertArrayBySubjectDN

        public static org.mockito.ArgumentMatcher<X509Certificate[]> matchesExpectedCertArrayBySubjectDN​(String subjectDn)
        Argument matcher that matches a certificate array containing exactly one X509Certificate having the given subject DN. Uses the X509Certificate.getSubjectDN() to obtain the Principal and then matches against Principal.getName().
        Parameters:
        subjectDn - the subject distinguished name
        Returns:
        a Mockito argument matcher for an array of X509Certificate objects
      • matchesExpectedCertBySubjectDN

        public static org.mockito.ArgumentMatcher<X509Certificate> matchesExpectedCertBySubjectDN​(String subjectDn)
        Argument matcher that matches a certificate having the given subject DN.
        Parameters:
        subjectDn - the subject distinguished name
        Returns:
        a Mockito argument matcher for an array of X509Certificate objects
      • matchesExpectedCertByX500PrincipalName

        public static org.mockito.ArgumentMatcher<X509Certificate> matchesExpectedCertByX500PrincipalName​(String name)
        Argument matcher that matches a certificate having an X500Principal with the given name.
        Parameters:
        name - the name for the X500Principal
        Returns:
        a Mockito argument matcher for an array of X509Certificate objects