-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathTemplateTest.java
More file actions
113 lines (103 loc) · 3.89 KB
/
Copy pathTemplateTest.java
File metadata and controls
113 lines (103 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package Model;
import com.lob.model.Template;
import com.lob.model.TemplateVersion;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
import java.time.OffsetDateTime;
import org.testng.annotations.*;
import org.testng.Assert;
@SuppressWarnings("unchecked")
public class TemplateTest {
@DataProvider (name = "template-data-provider")
public Object[][] templateDpMethod(){
List<TemplateVersion> templVersions = new ArrayList<TemplateVersion>();
templVersions.add(new TemplateVersion());
return new Object[][] {
{"id", "tmpl_fakeId"},
{"description", "fake description"},
{"versions", templVersions},
{"published_version", new TemplateVersion()},
{"object", Template.ObjectEnum.TEMPLATE},
{"metadata", new HashMap<String, String>()},
{"date_created", OffsetDateTime.now()},
{"date_modified", OffsetDateTime.now()},
{"deleted", true},
{"deleted", false},
};
}
@Test(enabled=true, dataProvider = "template-data-provider")
public void templateTestWithProvidedValue(String prop, Object val) throws Exception {
Template rec = new Template();
switch (prop) {
case "id": {
String castedVal = (String)val;
rec.setId(castedVal);
Assert.assertEquals(rec.getId(), castedVal);
break;
}
case "description": {
String castedVal = (String)val;
rec.setDescription(castedVal);
Assert.assertEquals(rec.getDescription(), castedVal);
break;
}
case "versions": {
List<TemplateVersion> castedVal = (ArrayList<TemplateVersion>)val;
rec.setVersions(castedVal);
Assert.assertEquals(rec.getVersions(), castedVal);
break;
}
case "published_version": {
TemplateVersion castedVal = (TemplateVersion)val;
rec.setPublishedVersion(castedVal);
Assert.assertEquals(rec.getPublishedVersion(), castedVal);
break;
}
case "object": {
Template.ObjectEnum castedVal = (Template.ObjectEnum)val;
rec.setObject(castedVal);
Assert.assertEquals(rec.getObject(), castedVal);
break;
}
case "metadata": {
Map<String, String> castedVal = (HashMap<String, String>)val;
rec.setMetadata(castedVal);
Assert.assertEquals(rec.getMetadata(), castedVal);
break;
}
case "date_created": {
OffsetDateTime castedVal = (OffsetDateTime)val;
rec.setDateCreated(castedVal);
Assert.assertEquals(rec.getDateCreated(), castedVal);
break;
}
case "date_modified": {
OffsetDateTime castedVal = (OffsetDateTime)val;
rec.setDateModified(castedVal);
Assert.assertEquals(rec.getDateModified(), castedVal);
break;
}
case "deleted": {
Boolean castedVal = (Boolean)val;
rec.setDeleted(castedVal);
Assert.assertEquals(rec.getDeleted(), castedVal);
break;
}
default:
throw new Exception("Wrong prop name: " + prop);
}
}
@Test(enabled=true)
public void templateTestInvalidId() {
Template rec = new Template();
Assert.assertNull(rec.getId());
try {
rec.setId("Nope");
throw new Exception("Should Throw");
} catch (Exception err) {
Assert.assertEquals(err.getMessage(), "Invalid id provided");
}
}
}