10
10
import org .springframework .beans .factory .annotation .Autowired ;
11
11
import org .springframework .core .io .ClassPathResource ;
12
12
import org .springframework .http .HttpStatus ;
13
- import org .sunbird .common .util .HttpUtil ;
14
- import org .sunbird .integration .test .user .EndpointConfig .TestGlobalProperty ;
15
13
import org .testng .annotations .DataProvider ;
16
14
import org .testng .annotations .Test ;
17
15
18
- public class CreateIssuerTest extends TestNGCitrusTestDesigner {
16
+ import org .sunbird .common .util .HttpUtil ;
17
+ import org .sunbird .integration .test .common .BaseCitrusTest ;
18
+ import org .sunbird .integration .test .user .EndpointConfig .TestGlobalProperty ;
19
+
20
+
21
+ public class CreateIssuerTest extends BaseCitrusTest {
19
22
20
23
public static final String TEST_NAME_CREATE_ISSUER_SUCCESS = "createIssuerSuccess" ;
21
- public static final String TEST_NAME_CREATE_ISSUER_WITH_IMAGE_SUCCESS = "createIssuerWithImageSuccess" ;
24
+ public static final String TEST_NAME_CREATE_ISSUER_SUCCESS_WITH_IMAGE = "createIssuerSuccessWithImage" ;
25
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_NAME = "createIssuerFailureWithoutName" ;
26
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION = "createIssuerFailureWithoutDescription" ;
27
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_URL = "createIssuerFailureWithoutUrl" ;
28
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_URL = "createIssuerFailureWithInvalidUrl" ;
29
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL = "createIssuerFailureWithoutEmail" ;
30
+ public static final String TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL = "createIssuerFailureWithInvalidEmail" ;
22
31
23
32
public static final String TEMPLATE_DIR = "templates/badge/issuer/create" ;
24
33
public static final String TEST_DIR_CREATE_ISSUER_SUCCESS = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_SUCCESS );
25
- public static final String TEST_DIR_CREATE_ISSUER_WITH_IMAGE_SUCCESS = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_WITH_IMAGE_SUCCESS );
34
+ public static final String TEST_DIR_CREATE_ISSUER_SUCCESS_WITH_IMAGE = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_SUCCESS_WITH_IMAGE );
35
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_NAME = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_NAME );
36
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION );
37
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_URL = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_URL );
38
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_URL = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_URL );
39
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL );
40
+ public static final String TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL = MessageFormat .format ("{0}/{1}/" , TEMPLATE_DIR , TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL );
26
41
27
42
public static final String REQUEST_FORM_DATA = "request.params" ;
28
43
public static final String RESPONSE_JSON = "response.json" ;
@@ -32,60 +47,94 @@ public class CreateIssuerTest extends TestNGCitrusTestDesigner {
32
47
@ Autowired private TestGlobalProperty initGlobalValues ;
33
48
34
49
private String getCreateIssuerUrl () {
50
+ System .out .println ("initGlobalValues = " + initGlobalValues );
35
51
return initGlobalValues .getLmsUrl ().contains ("localhost" )
36
52
? "/v1/issuer/create"
37
53
: "/api/badging/v1/issuer/create" ;
38
54
}
39
55
40
- private void performTest (
41
- String testName ,
42
- HttpClient httpClient ,
43
- TestGlobalProperty config ,
44
- String url ,
45
- String requestFormData ,
46
- String responseJson ) {
47
- System .out .println (requestFormData );
48
-
49
- getTestCase ().setName (testName );
50
-
51
- String testFolderPath = MessageFormat .format ("{0}/{1}" , TEMPLATE_DIR , testName );
52
-
53
- new HttpUtil ().multipartPost (http ().client (httpClient ), config , url , requestFormData , testFolderPath );
54
-
55
- http ()
56
- .client (httpClient )
57
- .receive ()
58
- .response (HttpStatus .OK )
59
- .payload (new ClassPathResource (responseJson ));
60
- }
61
-
62
- @ DataProvider (name = "createIssuerDataProvider" )
63
- public Object [][] createIssuerDataProvider () {
56
+ @ DataProvider (name = "createIssuerDataProviderSuccess" )
57
+ public Object [][] createIssuerDataProviderSuccess () {
64
58
return new Object [][] {
65
59
new Object []{
66
60
TEST_DIR_CREATE_ISSUER_SUCCESS + REQUEST_FORM_DATA ,
67
61
TEST_DIR_CREATE_ISSUER_SUCCESS + RESPONSE_JSON ,
68
62
TEST_NAME_CREATE_ISSUER_SUCCESS
69
63
},
70
64
new Object []{
71
- TEST_DIR_CREATE_ISSUER_WITH_IMAGE_SUCCESS + REQUEST_FORM_DATA ,
72
- TEST_DIR_CREATE_ISSUER_WITH_IMAGE_SUCCESS + RESPONSE_JSON ,
73
- TEST_NAME_CREATE_ISSUER_WITH_IMAGE_SUCCESS
65
+ TEST_DIR_CREATE_ISSUER_SUCCESS_WITH_IMAGE + REQUEST_FORM_DATA ,
66
+ TEST_DIR_CREATE_ISSUER_SUCCESS_WITH_IMAGE + RESPONSE_JSON ,
67
+ TEST_NAME_CREATE_ISSUER_SUCCESS_WITH_IMAGE
74
68
}
75
69
};
76
70
}
77
71
78
- @ Test (dataProvider = "createIssuerDataProvider" )
72
+ @ DataProvider (name = "createIssuerDataProviderFailure" )
73
+ public Object [][] createIssuerDataProviderFailure () {
74
+ return new Object [][] {
75
+ new Object []{
76
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_NAME + REQUEST_FORM_DATA ,
77
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_NAME + RESPONSE_JSON ,
78
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_NAME
79
+ },
80
+ new Object []{
81
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION + REQUEST_FORM_DATA ,
82
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION + RESPONSE_JSON ,
83
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_DESCRIPTION
84
+ },
85
+ new Object []{
86
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_URL + REQUEST_FORM_DATA ,
87
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_URL + RESPONSE_JSON ,
88
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_URL
89
+ },
90
+ new Object []{
91
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_URL + REQUEST_FORM_DATA ,
92
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_URL + RESPONSE_JSON ,
93
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_URL
94
+ },
95
+ new Object []{
96
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL + REQUEST_FORM_DATA ,
97
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL + RESPONSE_JSON ,
98
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITHOUT_EMAIL
99
+ },
100
+ new Object []{
101
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL + REQUEST_FORM_DATA ,
102
+ TEST_DIR_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL + RESPONSE_JSON ,
103
+ TEST_NAME_CREATE_ISSUER_FAILURE_WITH_INVALID_EMAIL
104
+ }
105
+ };
106
+ }
107
+
108
+ @ Test (dataProvider = "createIssuerDataProviderSuccess" )
109
+ @ CitrusParameters ({"requestFormData" , "responseJson" , "testName" })
110
+ @ CitrusTest
111
+ public void testCreateIssuerSuccess (String requestFormData , String responseJson , String testName ) {
112
+ System .out .println ("initGlobalValues = " + initGlobalValues );
113
+ performMultipartTest (
114
+ testName ,
115
+ TEMPLATE_DIR ,
116
+ restTestClient ,
117
+ initGlobalValues ,
118
+ getCreateIssuerUrl (),
119
+ requestFormData ,
120
+ responseJson ,
121
+ HttpStatus .OK );
122
+ }
123
+
124
+ @ Test (dataProvider = "createIssuerDataProviderFailure" )
79
125
@ CitrusParameters ({"requestFormData" , "responseJson" , "testName" })
80
126
@ CitrusTest
81
- public void testCreateIssuer (String requestFormData , String responseJson , String testName ) {
127
+ public void testCreateIssuerFailure (String requestFormData , String responseJson , String testName ) {
82
128
System .out .println ("initGlobalValues = " + initGlobalValues );
83
- performTest (
84
- testName ,
85
- restTestClient ,
86
- initGlobalValues ,
87
- getCreateIssuerUrl (),
88
- requestFormData ,
89
- responseJson );
129
+ performMultipartTest (
130
+ testName ,
131
+ TEMPLATE_DIR ,
132
+ restTestClient ,
133
+ initGlobalValues ,
134
+ getCreateIssuerUrl (),
135
+ requestFormData ,
136
+ responseJson ,
137
+ HttpStatus .BAD_REQUEST );
90
138
}
139
+
91
140
}
0 commit comments