Skip to content

Problem with function instant("now) #102

Description

@gserracalahorra

Using fixture-factory-3.1.0, when fixture-factory trying to build this object

`public class ContactTemplate implements TemplateLoader
{
@OverRide public void load()
{
Fixture.of(Contact.class).addTemplate("valid", new Rule()
{
{
add("id", random(Long.class, range(1L, 10000L)));
add("codeUserClient", regex("[A-Za-z]{5,10}"));
add("locale", new Locale("es","ES"));
add("startDate", instant("now"));
add("endDate", instant("tomorrow"));
}
});

	Fixture.of(Contact.class).addTemplate("repository").inherits("valid", new Rule()
	{
		{
			add("id",null);
		}
	});
}

}
`
For this bean:

**`
@entity
@table(name = "AX_CONTACT")
public class Contact implements Serializable
{

private static final long serialVersionUID = 1L;

@Id
@GenericGenerator(name = "seq", strategy = "enhanced-sequence", parameters = {
        @org.hibernate.annotations.Parameter(name = "optimizer", value = "pooled"),
        @org.hibernate.annotations.Parameter(name = "sequence_name", value = "SEQ_AX_CONTACT"),
        @org.hibernate.annotations.Parameter(name = "initial_value", value = "1"),
        @org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
})
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
@Column(name = "ID", length = 10, nullable = false)
private Long id;

@Column(name = "CODE_USER_CLIENT", nullable = false, length = 250)
private String codeUserClient;

@Column(name = "LANG", nullable = false, length = 5)
@Type(type = "locale")
private Locale locale;

@Column(name = "START_DATE",
		nullable = false)
private LocalDate startDate;

@Column(name = "END_DATE")
private LocalDate endDate;

public Contact()
{
    // empty constructor
}

public Long getId()
{
    return id;
}

public void setId(Long id)
{
    this.id = id;
}

public String getCodeUserClient()
{
    return codeUserClient;
}

public void setCodeUserClient(String codeUserClient)
{
    this.codeUserClient = codeUserClient;
}

public Locale getLocale()
{
    return locale;
}

public void setLocale(Locale locale)
{
    this.locale = locale;
}

public LocalDate getStartDate()
{
	return startDate;
}

public void setStartDate(LocalDate startDate)
{
	this.startDate = startDate;
}

public LocalDate getEndDate()
{
	return endDate;
}

public void setEndDate(LocalDate endDate)
{
	this.endDate = endDate;
}

@Override
public String toString()
{
	return "Contact{" + "id=" + id + ", codeUserClient='" + codeUserClient + '\'' + ", locale=" + locale + ", startDate=" + startDate
			+ ", endDate=" + endDate + '}';
}

}
`

Using this way:

Contact contact = Fixture.from(Contact.class).uses(getHibernateProcessor()).gimme("repository");

it fires the next exception.

java.lang.IllegalArgumentException: Incorrect type for transformer: java.time.LocalDate at br.com.six2six.fixturefactory.transformer.CalendarTransformer.transform(CalendarTransformer.java:38) at br.com.six2six.fixturefactory.transformer.TransformerChain.transform(TransformerChain.java:14) at br.com.six2six.fixturefactory.transformer.TransformerChain.transform(TransformerChain.java:18) at br.com.six2six.fixturefactory.ObjectFactory.processPropertyValue(ObjectFactory.java:240) at br.com.six2six.fixturefactory.ObjectFactory.createObject(ObjectFactory.java:121) at br.com.six2six.fixturefactory.ObjectFactory.gimme(ObjectFactory.java:62) at com.axpo.axiom.dbaccess.test.ContactRepositoryTest.testSaveAndFindOne(ContactRepositoryTest.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

¿What is the problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions