19d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair/* 29d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * Copyright 2008 the original author or authors. 39d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * 49d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * Licensed under the Apache License, Version 2.0 (the "License"); 59d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * you may not use this file except in compliance with the License. 69d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * You may obtain a copy of the License at 79d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * 89d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * http://www.apache.org/licenses/LICENSE-2.0 99d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * 109d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * Unless required by applicable law or agreed to in writing, software 119d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * distributed under the License is distributed on an "AS IS" BASIS, 129d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * See the License for the specific language governing permissions and 149d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * limitations under the License. 159d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair */ 169d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismairpackage org.mockftpserver.fake.user 179d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 189d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismairimport org.mockftpserver.test.* 199d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 209d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair/** 219d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * Tests for UserAccount 229d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * 239d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * @version $Revision: $ - $Date: $ 249d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * 259d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair * @author Chris Mair 269d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair */ 279d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismairclass UserAccountTest extends AbstractGroovyTest { 289d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 299d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair private static final USERNAME = "user123" 309d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair private static final PASSWORD = "password123" 319d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair private static final HOME_DIR = "/usr/user123" 329d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 339d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair private UserAccount userAccount 349d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 359d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair void testIsValidPassword() { 369d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.username = USERNAME 379d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.password = PASSWORD 389d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert userAccount.isValidPassword(PASSWORD) 399d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 409d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert userAccount.isValidPassword("") == false 419d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert userAccount.isValidPassword("wrong") == false 429d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert userAccount.isValidPassword(null) == false 439d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair } 449d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 459d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair void testIsValidPassword_UsernameNullOrEmpty() { 469d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.password = PASSWORD 479d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair shouldFail(AssertionError) { userAccount.isValidPassword(PASSWORD) } 489d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 499d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.username = '' 509d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair shouldFail(AssertionError) { userAccount.isValidPassword(PASSWORD) } 519d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair } 529d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 539d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair void testIsValidPassword_OverrideComparePassword() { 549d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair def customUserAccount = new CustomUserAccount() 559d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair customUserAccount.username = USERNAME 569d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair customUserAccount.password = PASSWORD 579d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair println customUserAccount 589d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert customUserAccount.isValidPassword(PASSWORD) == false 599d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert customUserAccount.isValidPassword(PASSWORD + "123") 609d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair } 619d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 629d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair void testIsValidPassword_PasswordNotCheckedDuringValidation() { 639d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.username = USERNAME 649d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.password = PASSWORD 659d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount.passwordCheckedDuringValidation = false 669d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair assert userAccount.isValidPassword("wrong") 679d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair } 689d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair 699d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair void setUp() { 709d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair userAccount = new UserAccount() 719d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair } 729d9aece7b2c2865253fdd2946a4d11a4f642c5aechrismair}