Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import org.springframework.core.env.ConfigurableEnvironment
* @since 6.1
*/
@CompileStatic
@SuppressWarnings(['ClassForName','MethodParameterTypeRequired'])
@SuppressWarnings(['ClassForName', 'MethodParameterTypeRequired'])
class TestTools {

static void addEnvConverters(ConfigurableEnvironment env){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import yakworks.commons.beans.PropertyTools
import yakworks.spring.AppCtx
import yakworks.testing.gorm.support.BaseRepoEntityUnitTest
import yakworks.testing.gorm.support.RepoBuildDataTest
import yakworks.testing.gorm.support.RepoTestDataBuilder
import yakworks.testing.grails.GrailsAppUnitTest

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ import groovy.transform.CompileDynamic

import org.springframework.security.crypto.password.NoOpPasswordEncoder

import yakworks.security.PasswordConfig
import yakworks.security.audit.AuditStampBeforeValidateListener
import yakworks.security.audit.AuditStampPersistenceEventListener
import yakworks.security.audit.AuditStampSupport
import yakworks.security.audit.DefaultAuditUserResolver
import yakworks.security.gorm.AppUserPasswordValidator
import yakworks.security.user.CurrentUserHolder
import yakworks.testing.gorm.CurrentTestUser
import yakworks.testing.gorm.TestingSecService
Expand All @@ -29,6 +31,8 @@ trait SecurityTest {
Closure doWithSecurityBeans() {
{ ->
passwordEncoder(NoOpPasswordEncoder)
passwordConfig(PasswordConfig)
passwordValidator(AppUserPasswordValidator)
currentUserHolder(CurrentUserHolder)
currentUser(CurrentTestUser)
secService(TestingSecService)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ package yakworks.testing.grails
import groovy.transform.CompileDynamic
import groovy.transform.CompileStatic

import org.grails.config.PropertySourcesConfig
import org.grails.spring.context.support.GrailsPlaceholderConfigurer
import org.grails.spring.context.support.MapBasedSmartPropertyOverrideConfigurer
import org.grails.testing.GrailsApplicationBuilder
Expand Down Expand Up @@ -52,9 +51,9 @@ class GrailsAppBuilder extends GrailsApplicationBuilder {
@CompileStatic
static class NotRequiredAutowiredAnnotationBeanPostProcessor extends AutowiredAnnotationBeanPostProcessor{

NotRequiredAutowiredAnnotationBeanPostProcessor() {
super()
}
// NotRequiredAutowiredAnnotationBeanPostProcessor() {
// super()
// }

@Override
protected boolean determineRequiredStatus(AnnotationAttributes ann) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,11 @@ import yakworks.rally.orgs.repo.ContactRepo
import yakworks.rally.orgs.repo.OrgRepo
import yakworks.rally.tag.model.Tag
import yakworks.rally.tag.model.TagLink
import yakworks.security.PasswordConfig
import yakworks.security.gorm.model.AppUser
import yakworks.security.gorm.model.SecRole
import yakworks.security.gorm.model.SecRolePermission
import yakworks.security.gorm.model.SecRoleUser
import yakworks.security.gorm.testing.SecuritySeedData
import yakworks.security.services.PasswordValidator
import yakworks.spring.AppCtx

@SuppressWarnings('BuilderMethodWithSideEffects')
Expand All @@ -63,8 +61,7 @@ class RallySeed {
] as List<Class<?>>
}

//extra spring beans when orgMember and orgDimensionService is being used.
static List springBeanList = [OrgProps, OrgDimensionService, OrgService, ActivityQuery, PasswordValidator, PasswordConfig]
static List springBeanList = [OrgProps, OrgDimensionService, OrgService, ActivityQuery]

// see good explanation of thread safe static instance stratgey https://stackoverflow.com/a/16106598/6500859
@SuppressWarnings('UnusedPrivateField')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ class AppUserRepo extends LongIdGormRepo<AppUser> {
*/
void updatePassword(AppUser user, String password) {
String hashed = encodePassword(password)
if (user.passwordHash == hashed) return
if (user.passwordHash == hashed) return //no change so just exit fast

Result valid
if (user.isNew()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import java.time.LocalDate

class AppUserSpec extends Specification implements GormHibernateTest, SecurityTest {
static List entityClasses = [AppUser, SecRole, SecRoleUser, SecPasswordHistory]
static List springBeans = [PasswordConfig, PasswordValidator]
//static List springBeans = [PasswordConfig]

@Inject PasswordConfig passwordConfig

Expand Down Expand Up @@ -84,6 +84,14 @@ class AppUserSpec extends Specification implements GormHibernateTest, SecurityTe
// return get(entity.id)
// }

def "test user create"(){
when:
AppUser user = new AppUser(id: 1, orgId: 1, username: "admin", email: "[email protected]", password: "123Foo")
user.persist(flush: true)
then:
user.id == 1
}

void "did it get the audit stamp fields"() {
when:
def con = build(AppUser)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
package yakworks.security.gorm

import gorm.tools.problem.ValidationProblem
import java.time.LocalDate
import javax.inject.Inject

import org.apache.commons.lang3.RandomStringUtils

import gorm.tools.problem.ValidationProblem
import spock.lang.Specification
import yakworks.api.problem.Problem
import yakworks.security.PasswordConfig
import yakworks.security.gorm.model.AppUser
import yakworks.api.problem.Problem
import yakworks.security.gorm.model.SecPasswordHistory
import yakworks.security.services.PasswordValidator
import yakworks.testing.gorm.unit.GormHibernateTest
import yakworks.testing.gorm.unit.SecurityTest
import spock.lang.Specification

import javax.inject.Inject
import java.time.LocalDate

class PasswordSpec extends Specification implements GormHibernateTest, SecurityTest {
static entityClasses = [AppUser, SecPasswordHistory]
static List springBeans = [PasswordConfig, AppUserPasswordValidator]
//static List springBeans = [PasswordConfig, AppUserPasswordValidator]

@Inject PasswordConfig passwordConfig
@Inject AppUserPasswordValidator passwordValidator
Expand Down