public void Should_provide_social_login()
        {
            var socialServices = _identityStore.SocialServices;

            Assert.IsNotNull(socialServices);
            Assert.IsTrue(socialServices.Count > 0);

            var          socialService       = socialServices[0];
            const string userId              = "*****@*****.**";
            var          authenticationToken = Guid.NewGuid().ToString();

            var identity = _identityDirectory.CreateIdentity();
            var isNew    = _identityStore.AddSocial(identity, userId, socialService, authenticationToken);

            Assert.IsTrue(isNew);

            var result = _identityStore.GetSocialAuthentication(userId, socialService);

            Assert.IsNotNull(result);
            Assert.AreEqual(identity, result.Identity);
            Assert.AreEqual(authenticationToken, result.AuthenticationToken);

            result = _identityStore.GetSocialAuthentication("invalid user id", socialService);

            Assert.IsNull(result);

            result = _identityStore.GetSocialAuthentication(userId, socialServices[1]);

            Assert.IsNull(result);

            var deleted = _identityStore.DeleteSocial(identity, socialService);

            Assert.IsTrue(deleted);

            result = _identityStore.GetSocialAuthentication(userId, socialService);

            Assert.IsNull(result);
        }