Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldAssignAdminRoleAfterBadSetting() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldAssignAdminRoleAfterBadSetting()
        {
            UserRepository userRepository        = new InMemoryUserRepository();
            UserRepository initialUserRepository = new InMemoryUserRepository();
            UserRepository adminUserRepository   = new InMemoryUserRepository();
            RoleRepository roleRepository        = new InMemoryRoleRepository();

            userRepository.Create(NewUser("morpheus", "123", false));
            userRepository.Create(NewUser("trinity", "123", false));

            InternalFlatFileRealm realm = new InternalFlatFileRealm(userRepository, roleRepository, new BasicPasswordPolicy(), NewRateLimitedAuthStrategy(), new InternalFlatFileRealmIT.TestJobScheduler(), initialUserRepository, adminUserRepository);

            try
            {
                realm.Initialize();
                realm.Start();
                fail("Multiple users, no default admin provided");
            }
            catch (InvalidArgumentsException)
            {
                realm.Stop();
                realm.Shutdown();
            }
            adminUserRepository.Create((new User.Builder("trinity", LegacyCredential.INACCESSIBLE)).build());
            realm.Initialize();
            realm.Start();
            assertThat(realm.GetUsernamesForRole(PredefinedRoles.ADMIN).Count, equalTo(1));
            assertThat(realm.GetUsernamesForRole(PredefinedRoles.ADMIN), contains("trinity"));
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void assertSetUsersAndRolesNTimes(boolean usersChanged, boolean rolesChanged, int nSetUsers, int nSetRoles) throws Throwable
        private void AssertSetUsersAndRolesNTimes(bool usersChanged, bool rolesChanged, int nSetUsers, int nSetRoles)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.server.security.auth.UserRepository userRepository = mock(org.neo4j.server.security.auth.UserRepository.class);
            UserRepository userRepository = mock(typeof(UserRepository));
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final RoleRepository roleRepository = mock(RoleRepository.class);
            RoleRepository roleRepository = mock(typeof(RoleRepository));
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.server.security.auth.UserRepository initialUserRepository = mock(org.neo4j.server.security.auth.UserRepository.class);
            UserRepository initialUserRepository = mock(typeof(UserRepository));
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.server.security.auth.UserRepository defaultAdminRepository = mock(org.neo4j.server.security.auth.UserRepository.class);
            UserRepository defaultAdminRepository = mock(typeof(UserRepository));
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.kernel.api.security.PasswordPolicy passwordPolicy = new org.neo4j.server.security.auth.BasicPasswordPolicy();
            PasswordPolicy         passwordPolicy         = new BasicPasswordPolicy();
            AuthenticationStrategy authenticationStrategy = NewRateLimitedAuthStrategy();

            InternalFlatFileRealmIT.TestJobScheduler jobScheduler = new InternalFlatFileRealmIT.TestJobScheduler();
            InternalFlatFileRealm realm = new InternalFlatFileRealm(userRepository, roleRepository, passwordPolicy, authenticationStrategy, jobScheduler, initialUserRepository, defaultAdminRepository);

            when(userRepository.PersistedSnapshot).thenReturn(new ListSnapshot <>(10L, Collections.emptyList(), usersChanged));
            when(userRepository.GetUserByName(any())).thenReturn((new User.Builder()).build());
            when(roleRepository.PersistedSnapshot).thenReturn(new ListSnapshot <>(10L, Collections.emptyList(), rolesChanged));
            when(roleRepository.GetRoleByName(anyString())).thenReturn(new RoleRecord(""));

            realm.init();
            realm.Start();

            jobScheduler.ScheduledRunnable.run();

            verify(userRepository, times(nSetUsers)).Users = any();
            verify(roleRepository, times(nSetRoles)).Roles = any();
        }
Esempio n. 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldAssignAdminRoleToDefaultUser() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldAssignAdminRoleToDefaultUser()
        {
            // Given
            InternalFlatFileRealm realm = InternalTestRealmWithUsers(Collections.emptyList(), Collections.emptyList());

            // When
            realm.Initialize();
            realm.Start();

            // Then
            assertThat(realm.GetUsernamesForRole(PredefinedRoles.ADMIN), contains(InternalFlatFileRealm.INITIAL_USER_NAME));
        }
Esempio n. 4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldFailToAssignMultipleDefaultAdmins() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldFailToAssignMultipleDefaultAdmins()
        {
            // Given
            InternalFlatFileRealm realm = InternalTestRealmWithUsers(Arrays.asList("morpheus", "trinity", "tank"), Arrays.asList("morpheus", "trinity"));

            // Expect
            Exception.expect(typeof(InvalidArgumentsException));
            Exception.expectMessage("No roles defined, and multiple users defined as default admin user. Please use `neo4j-admin " + SetDefaultAdminCommand.COMMAND_NAME + "` to select a valid admin.");

            // When
            realm.Initialize();
            realm.Start();
        }
Esempio n. 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldGiveErrorOnMultipleUsersNoDefault() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldGiveErrorOnMultipleUsersNoDefault()
        {
            // Given
            InternalFlatFileRealm realm = InternalTestRealmWithUsers(Arrays.asList("morpheus", "trinity"), Collections.emptyList());

            // Expect
            Exception.expect(typeof(InvalidArgumentsException));
            Exception.expectMessage("No roles defined, and cannot determine which user should be admin. Please use `neo4j-admin " + SetDefaultAdminCommand.COMMAND_NAME + "` to select an admin.");

            // When
            realm.Initialize();
            realm.Start();
        }
Esempio n. 6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotAssignAdminToNonExistentUser() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldNotAssignAdminToNonExistentUser()
        {
            // Given
            InternalFlatFileRealm realm = InternalTestRealmWithUsers(Collections.singletonList("neo4j"), Collections.singletonList("morpheus"));

            // Expect
            Exception.expect(typeof(InvalidArgumentsException));
            Exception.expectMessage("No roles defined, and default admin user 'morpheus' does not exist. Please use `neo4j-admin " + SetDefaultAdminCommand.COMMAND_NAME + "` to select a valid admin.");

            // When
            realm.Initialize();
            realm.Start();
        }
Esempio n. 7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldAssignAdminRoleToOnlyUser() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldAssignAdminRoleToOnlyUser()
        {
            // Given
            InternalFlatFileRealm realm = InternalTestRealmWithUsers(Collections.singletonList("morpheus"), Collections.emptyList());

            // When
            realm.Initialize();
            realm.Start();

            // Then
            assertThat(realm.GetUsernamesForRole(PredefinedRoles.ADMIN), contains("morpheus"));
            assertThat(realm.GetUsernamesForRole(PredefinedRoles.ADMIN).Count, equalTo(1));
        }