View Javadoc

1   package org.kuali.student.core.dictionary.service;
2   
3   import java.util.LinkedHashSet;
4   import java.util.List;
5   import java.util.Set;
6   import org.junit.Test;
7   import org.kuali.student.common.dictionary.dto.ObjectStructureDefinition;
8   import org.kuali.student.common.dictionary.service.impl.DictionaryTesterHelper;
9   import org.kuali.student.common.exceptions.OperationFailedException;
10  import org.kuali.student.common.validation.dto.ValidationResultInfo;
11  import org.kuali.student.common.validator.DefaultValidatorImpl;
12  import org.kuali.student.common.validator.ServerDateParser;
13  import org.kuali.student.core.proposal.dto.ProposalInfo;
14  import org.springframework.context.ApplicationContext;
15  import org.springframework.context.support.ClassPathXmlApplicationContext;
16  import static org.junit.Assert.*;
17  
18  public class TestProposalInfoDictionary {
19  
20  	@Test
21  	public void testLoadProposalInfoDictionary() {
22  		Set<String> startingClasses = new LinkedHashSet<String>();
23  		startingClasses.add(ProposalInfo.class.getName ());
24  		String contextFile = "ks-proposalInfo-dictionary-context";
25  		String outFile = "target/" + contextFile + ".txt";
26  		DictionaryTesterHelper helper = new DictionaryTesterHelper(outFile,
27  				startingClasses, contextFile + ".xml", false);
28  	 List<String> errors = helper.doTest ();
29    if (errors.size () > 0)
30    {
31     fail ("failed dictionary validation:\n" + formatAsString (errors));
32    }
33   }
34  
35   private String formatAsString (List<String> errors)
36   {
37    int i = 0;
38    StringBuilder builder = new StringBuilder ();
39    for (String error : errors)
40    {
41     i ++;
42     builder.append (i + ". " + error + "\n");
43    }
44    return builder.toString ();
45   }
46  
47  	@Test
48  	public void testProposalInfoValidation() throws OperationFailedException {
49  		ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:ks-proposalInfo-dictionary-context.xml");
50  		System.out.println("h2. Validation Test");
51  		DefaultValidatorImpl val = new DefaultValidatorImpl();
52  		val.setDateParser(new ServerDateParser());
53  		val.setSearchDispatcher(new MockSearchDispatcher());
54  		ProposalInfo info = new ProposalInfo();
55  		ObjectStructureDefinition os = (ObjectStructureDefinition) ac.getBean(info.getClass().getName());
56  		List<ValidationResultInfo> validationResults = val.validateObject(info,	os);
57  		System.out.println("h3. With just a blank ProposalInfo");
58  		// for (ValidationResultInfo vr : validationResults)
59  		// {
60  		// System.out.println (vr.getElement () + " " + vr.getMessage ());
61  		// }
62  		assertEquals(2, validationResults.size());
63  	}
64  }