package io.lumify.securegraph.model.user; import io.lumify.core.config.Configuration; import io.lumify.core.config.HashMapConfigurationLoader; import io.lumify.core.model.ontology.Concept; import io.lumify.core.model.ontology.OntologyRepository; import io.lumify.core.model.user.AuthorizationRepository; import io.lumify.core.model.user.InMemoryAuthorizationRepository; import io.lumify.core.model.user.UserListenerUtil; import io.lumify.core.model.user.UserRepository; import io.lumify.core.security.LumifyVisibility; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.securegraph.id.UUIDIdGenerator; import org.securegraph.inmemory.InMemoryGraph; import org.securegraph.inmemory.InMemoryGraphConfiguration; import org.securegraph.search.DefaultSearchIndex; import java.util.HashMap; import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.*; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class SecureGraphUserRepositoryTest { @Mock private OntologyRepository ontologyRepository; @Mock private Concept userConcept; private AuthorizationRepository authorizationRepository; private SecureGraphUserRepository secureGraphUserRepository; @Mock private UserListenerUtil userListenerUtil; @Before public void setup() { InMemoryGraphConfiguration config = new InMemoryGraphConfiguration(new HashMap()); authorizationRepository = new InMemoryAuthorizationRepository(); authorizationRepository.addAuthorizationToGraph(LumifyVisibility.SUPER_USER_VISIBILITY_STRING.toString()); when(ontologyRepository.getOrCreateConcept((Concept) isNull(), eq(UserRepository.USER_CONCEPT_IRI), anyString(), (java.io.File) anyObject())).thenReturn(userConcept); when(userConcept.getIRI()).thenReturn(UserRepository.USER_CONCEPT_IRI); Configuration lumifyConfiguration = new HashMapConfigurationLoader(new HashMap()).createConfiguration();; secureGraphUserRepository = new SecureGraphUserRepository( lumifyConfiguration, authorizationRepository, InMemoryGraph.create(config, new UUIDIdGenerator(config), new DefaultSearchIndex(config)), ontologyRepository, userListenerUtil); } @Test public void testAddUser() { secureGraphUserRepository.addUser("12345", "testUser", null, "testPassword", new String[]{"auth1", "auth2"}); SecureGraphUser secureGraphUser = (SecureGraphUser) secureGraphUserRepository.findByUsername("12345"); assertEquals("testUser", secureGraphUser.getDisplayName()); } }