[keycloak-dev] Testing with mocking libraries?

Stian Thorgersen sthorger at redhat.com
Thu May 31 14:20:57 EDT 2018


With regards to Identity Brokering and Social Login one potentially better
way to do it would be to have a mocked IdP. At least then you are testing
the actual HTTP calls and it's much closer to a real scenario than doing
junit tests with mocks and only testing parts of the code base.

On 31 May 2018 at 18:08, Anil Saldanha <asaldanha1947 at gmail.com> wrote:

> I am sorry I have not looked at your integration tests.  So I may be wrong
> here. <namaste/>
>
> One area that I feel that you need lots of integration tests is in the
> "Identity Brokering" feature.  You have way too many permutations and
> combinations (with authentication flows) that without proper integration
> tests/mocks, you will not do proper justice to the value of KC/RH-SSO.
>
> On Thu, May 31, 2018 at 10:17 AM, Bill Burke <bburke at redhat.com> wrote:
>
>> Never liked mocks either as they are just opinionated warped
>> perceptions of reality.   But there are cases where I think we need
>> them off the top of my head:
>>
>> * Openshift integration
>> * Social logins.
>>
>> Openshift we just won't have the infrastructure for it.  Social login
>> tests require accounts which we won't want to share the logins for in
>> a public CI.  We need something in public CI so that we can catch at
>> least some potential problems and that we can easily try to reproduce
>> in local IDE environments.  Mocks wouldn't be a replacement for real
>> integration testing, just a stop gap.
>>
>>
>>
>> On Thu, May 31, 2018 at 10:44 AM, Anil Saldanha <asaldanha1947 at gmail.com>
>> wrote:
>> > You really have to test your core logic (with no server set up) using
>> > integration tests with mocking libraries. One way to test out all the
>> > possible preconditions to your logic.
>> >
>> > You will be doing a service to your customers and users by shielding
>> them
>> > from those nasty exceptions (NPEs) that happen in an integration
>> platform
>> > such as KeyCloak/RH-SSO. :-)
>> >
>> > /me wearing a user/customer hat
>> >
>> > On Thu, May 31, 2018 at 1:38 AM, Marek Posolda <mposolda at redhat.com>
>> wrote:
>> >
>> >> Not sure. I am not strongly against it, but I afraid that if we
>> >> introduce some mocks support, people (especially from community) will
>> >> start to test with mocks everywhere and add them to all PRs (even to
>> >> those which could be easily tested properly). Not sure if it's better
>> >> alternative to skip automated test at all instead of test with mocks?
>> >>
>> >> But for this one, I guess we can likely extend our social test with an
>> >> account from hosted domain and hence test it properly?
>> >>
>> >> Marek
>> >>
>> >>
>> >> On 30/05/18 09:19, Stian Thorgersen wrote:
>> >> > At the moment our testing strategy is only with functional or
>> integration
>> >> > level tests. Both with the full server up and running and primarily
>> >> testing
>> >> > through public APIs.
>> >> >
>> >> > Now here comes the question should we also allow testing through a
>> >> mocking
>> >> > library like Mockito?
>> >> >
>> >> > In general I'm against mocking libraries. At best you end up with
>> >> something
>> >> > that may work, but you're not guaranteed that it actually works. They
>> >> also
>> >> > have a very big maintenance cost when any changes are made to the
>> >> codebase.
>> >> >
>> >> > However, take a look at https://github.com/keycloak/ke
>> ycloak/pull/5215
>> >> for
>> >> > example. It is a contribution to add support for the hd param to the
>> >> Google
>> >> > login. Not sure how else we could test this without a mocking
>> library.
>> >> > _______________________________________________
>> >> > keycloak-dev mailing list
>> >> > keycloak-dev at lists.jboss.org
>> >> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
>> >>
>> >>
>> >> _______________________________________________
>> >> keycloak-dev mailing list
>> >> keycloak-dev at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>> >>
>> > _______________________________________________
>> > keycloak-dev mailing list
>> > keycloak-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>
>>
>>
>> --
>> Bill Burke
>> Red Hat
>>
>
>


More information about the keycloak-dev mailing list