Skip to content

Commit

Permalink
changes so validation does not fail in unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
basejump committed Jan 23, 2013
1 parent 184c41c commit b555ef0
Show file tree
Hide file tree
Showing 6 changed files with 149 additions and 26 deletions.
4 changes: 2 additions & 2 deletions AuditTrailGrailsPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import gorm.*

class AuditTrailGrailsPlugin {
// the plugin version
def version = "2.0.1"
def version = "2.0.2"
def grailsVersion = "1.3.6 > *"

def author = "Joshua Burnett"
Expand All @@ -11,7 +11,7 @@ class AuditTrailGrailsPlugin {
def description = 'provides an annotation and hibernate events to take care of audit trail stamping for your gorm objects'
def license = "APACHE"
def organization = [ name: "9ci", url: "http://www.9ci.com/" ]
def developers = [ [ name: "Konstantinos Kostarellis", email: "kosta.grails@gmail.com" ]]
def developers = [ [ name: "Joshua Burnet", email: "joshua@greenbill.com" ]]
def issueManagement = [ system: "github", url: "https://github.com/9ci/grails-audit-trail/issues" ]
def scm = [ url: "https://github.com/9ci/grails-audit-trail" ]
def documentation = "http://grails.org/AuditTrail+Plugin"
Expand Down
4 changes: 2 additions & 2 deletions application.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#Grails Metadata file
#Tue Sep 28 20:52:55 CDT 2010
app.grails.version=2.0.4
#Mon Jun 18 17:17:03 CDT 2012
app.grails.version=2.2.0
app.name=audit-trail

129 changes: 126 additions & 3 deletions audit-trail.tmproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>currentDocument</key>
<string>test/projects/joda/grails-app/conf/BuildConfig.groovy</string>
<string>src/groovy/nineci/hibernate/AuditTrailHelper.groovy</string>
<key>documents</key>
<array>
<dict>
Expand All @@ -16,7 +16,7 @@
<key>filename</key>
<string>README.md</string>
<key>lastUsed</key>
<date>2012-01-08T00:08:45Z</date>
<date>2013-01-14T02:45:39Z</date>
</dict>
<dict>
<key>filename</key>
Expand Down Expand Up @@ -114,14 +114,132 @@
<key>caret</key>
<dict>
<key>column</key>
<integer>2</integer>
<integer>20</integer>
<key>line</key>
<integer>53</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>26</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>6</integer>
<key>line</key>
<integer>53</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>20</integer>
<key>line</key>
<integer>53</integer>
</dict>
</dict>
<key>grails-app/conf/Config.groovy</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>31</integer>
<key>line</key>
<integer>18</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>5</integer>
</dict>
<key>grails-app/domain/nine/tests/ValDirty.groovy</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>19</integer>
<key>line</key>
<integer>9</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>0</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>5</integer>
<key>line</key>
<integer>9</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>19</integer>
<key>line</key>
<integer>9</integer>
</dict>
</dict>
<key>src/groovy/nineci/hibernate/AuditTrailHelper.groovy</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>16</integer>
<key>line</key>
<integer>31</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>13</integer>
</dict>
<key>src/groovy/nineci/hibernate/AuditTrailInterceptor.groovy</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>26</integer>
<key>line</key>
<integer>33</integer>
</dict>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>6</integer>
</dict>
<key>src/java/gorm/AuditStampASTTransformation.java</key>
<dict>
<key>caret</key>
<dict>
<key>column</key>
<integer>51</integer>
<key>line</key>
<integer>80</integer>
</dict>
<key>columnSelection</key>
<false/>
<key>firstVisibleColumn</key>
<integer>0</integer>
<key>firstVisibleLine</key>
<integer>48</integer>
<key>selectFrom</key>
<dict>
<key>column</key>
<integer>44</integer>
<key>line</key>
<integer>80</integer>
</dict>
<key>selectTo</key>
<dict>
<key>column</key>
<integer>60</integer>
<key>line</key>
<integer>80</integer>
</dict>
</dict>
<key>test/projects/joda/application.properties</key>
<dict>
Expand Down Expand Up @@ -258,7 +376,12 @@
<array>
<string>AuditTrailGrailsPlugin.groovy</string>
<string>README.md</string>
<string>grails-app/domain/nine/tests/ValDirty.groovy</string>
<string>test/projects/joda/grails-app/conf/BuildConfig.groovy</string>
<string>grails-app/conf/Config.groovy</string>
<string>src/groovy/nineci/hibernate/AuditTrailInterceptor.groovy</string>
<string>src/groovy/nineci/hibernate/AuditTrailHelper.groovy</string>
<string>src/java/gorm/AuditStampASTTransformation.java</string>
</array>
<key>showFileHierarchyDrawer</key>
<true/>
Expand Down
4 changes: 2 additions & 2 deletions grails-app/conf/BuildConfig.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ grails.project.dependency.resolution = {
}

plugins {
build(":tomcat:$grailsVersion",":release:2.0.3") {
build(":tomcat:$grailsVersion",":release:2.2.0") {
export = false
}
compile (":hibernate:$grailsVersion"){
export = false
}

compile (':spring-security-core:1.2.6'){
compile (':spring-security-core:1.2.7.3'){
export = false
}

Expand Down
20 changes: 14 additions & 6 deletions src/java/gorm/AuditStampASTTransformation.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,23 @@ public void doBeforeValidate(ClassNode classNode){
}
// System.out.println(mn.toString());
// System.out.println(mn.getCode());
String configStr = "org.codehaus.groovy.grails.commons.ApplicationHolder.application.mainContext" +
".getBean('auditTrailHelper').initializeFields(this)";

// String configStr = "println '1 in validate'; println '2 in validate'; "+
// "def ctx = org.codehaus.groovy.grails.commons.ApplicationHolder.application?.mainContext; " +
// "if(ctx) { \n"+
// " println \"ctx NOT null, calling initializeFields\"\n"+
// " ctx.getBean('auditTrailHelper').initializeFields(this) \n" +
// "} else { \n" +
// " println \"ctx is null\" \n" +
// "}"
// ;
String configStr = "domainClass?.grailsApplication?.mainContext?.auditTrailHelper?.initializeFields(this) ";
BlockStatement newConfig = (BlockStatement) new AstBuilder().buildFromString(configStr).get(0);

ReturnStatement returnStatement = (ReturnStatement) newConfig.getStatements().get(0);
ExpressionStatement exStatment = new ExpressionStatement(returnStatement.getExpression());
//ExpressionStatement exStatment = (ExpressionStatement) newConfig.getStatements().get(0);
//ExpressionStatement exStatment = new ExpressionStatement(returnStatement.getExpression());
BlockStatement block = (BlockStatement) mn.getCode();
block.addStatement(exStatment);
//System.out.println(block);
block.addStatement(newConfig.getStatements().get(0));
//System.out.println(block);
}

Expand Down
14 changes: 3 additions & 11 deletions test/integration/nine/tests/AuditStampTests.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,7 @@ class AuditStampTests extends BaseInt {

void testCreateEditInsert() {
def dom = new TestDomain(name:"blah")
if( !dom.save(flush:true) ) {
dom.errors.each {
println it
}
}
dom.save(flush:true,failOnError:true)
assertNotNull(dom.id);
def sql = new Sql(dataSource);
def sqlCall = 'select oid, companyId,createdBy, createdDate, whoUpdated, editedDate from TestDomains where oid = ' + dom.id
Expand All @@ -54,7 +50,7 @@ class AuditStampTests extends BaseInt {

void testCreateEditInsert_with_companyId() {
def dom = new TestDomain(name:"blah2",companyId:7)
assert dom.save(flush:true)
assert dom.save(flush:true,failOnError:true)

def sql = new Sql(dataSource);
def sqlCall = 'select oid, companyId,createdBy, createdDate, whoUpdated, editedDate from TestDomains where oid = ' + dom.id
Expand All @@ -77,11 +73,7 @@ class AuditStampTests extends BaseInt {
def dom = TestDomain.get(2)
assertNotNull(dom);
dom.name="new name"
if( !dom.save(flush:true) ) {
dom.errors.each {
println it
}
}
dom.save(flush:true,failOnError:true)

def sqlCall = 'select oid, createdBy, createdDate, whoUpdated, editedDate from TestDomains where oid = ' + dom.id
println sqlCall
Expand Down

0 comments on commit b555ef0

Please sign in to comment.