Skip to content

Commit db5bfa0

Browse files
committed
novos cenários
1 parent 6716840 commit db5bfa0

File tree

9 files changed

+157
-1
lines changed

9 files changed

+157
-1
lines changed

ora_script/03_MODPLSQL.GET_PARAM.sql

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CREATE OR REPLACE FUNCTION GET_PARAM (
2+
P_NUM_ENTRIES IN NUMBER DEFAULT 0,
3+
P_NAME_ARRAY IN OWA.VC_ARR,
4+
P_VALUE_ARRAY IN OWA.VC_ARR,
5+
P_VALUE IN VARCHAR2,
6+
P_DEFAULT IN VARCHAR2 DEFAULT NULL
7+
) RETURN VARCHAR2 IS
8+
V_RETVAL VARCHAR2(1024);
9+
V_IDX NUMBER(5);
10+
BEGIN
11+
V_RETVAL := P_DEFAULT;
12+
FOR V_IDX IN 1..P_NUM_ENTRIES LOOP
13+
IF (UPPER(P_VALUE) = UPPER(P_NAME_ARRAY(V_IDX))) THEN
14+
V_RETVAL := P_VALUE_ARRAY(V_IDX);
15+
RETURN V_RETVAL;
16+
END IF;
17+
END LOOP;
18+
RETURN V_RETVAL;
19+
END;

ora_script/04_MODPLSQL.HTTP_PARAM.sql

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CREATE OR REPLACE PROCEDURE HTTP_PARAM (
2+
NUM_ENTRIES NUMBER,
3+
NAME_ARRAY OWA.VC_ARR,
4+
VALUE_ARRAY OWA.VC_ARR,
5+
RESERVED OWA.VC_ARR
6+
) IS
7+
BEGIN
8+
HTP.PRINT('P1 => ' || GET_PARAM(NUM_ENTRIES, NAME_ARRAY, VALUE_ARRAY, 'P1'));
9+
HTP.PRINT('P2 => ' || GET_PARAM(NUM_ENTRIES, NAME_ARRAY, VALUE_ARRAY, 'P2'));
10+
END;

ora_script/05_MODPLSQL.SET_COOKIE.sql

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE OR REPLACE PROCEDURE SET_COOKIE (
2+
NUM_ENTRIES NUMBER,
3+
NAME_ARRAY OWA.VC_ARR,
4+
VALUE_ARRAY OWA.VC_ARR,
5+
RESERVED OWA.VC_ARR
6+
) IS
7+
V_COOKIE OWA_COOKIE.COOKIE;
8+
BEGIN
9+
V_COOKIE := OWA_COOKIE.GET('MODPLSQL_SESSION');
10+
11+
HTP.PRINT('COOKIE => ' || V_COOKIE.vals(1));
12+
END;

ora_script/06_MODPLSQL.GET_COOKIE.sql

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CREATE OR REPLACE PROCEDURE GET_COOKIE (
2+
NUM_ENTRIES NUMBER,
3+
NAME_ARRAY OWA.VC_ARR,
4+
VALUE_ARRAY OWA.VC_ARR,
5+
RESERVED OWA.VC_ARR
6+
) IS
7+
BEGIN
8+
OWA_COOKIE.SEND('MODPLSQL_SESSION', 'HASH_COOKIE');
9+
END;
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CREATE OR REPLACE PROCEDURE HTTP_NO_PARAM IS
2+
BEGIN
3+
HTP.PRINT('HTTP_NO_PARAM => OK');
4+
END;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CREATE OR REPLACE PROCEDURE HTTP_NAMED_PARAM (
2+
P_VL1 IN VARCHAR
3+
) IS
4+
BEGIN
5+
HTP.PRINT('P_VL1 => ' || P_VL1);
6+
END;

pom.xml

+7
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,13 @@
9292
<version>2.1</version>
9393
<scope>test</scope>
9494
</dependency>
95+
96+
<dependency>
97+
<groupId>commons-lang</groupId>
98+
<artifactId>commons-lang</artifactId>
99+
<version>2.6</version>
100+
<scope>test</scope>
101+
</dependency>
95102
</dependencies>
96103

97104
<build>

src/main/java/com/github/clagomess/modplsql/server/ModPlsqlController.java

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public Response index() throws URISyntaxException {
2323
return Response.seeOther(new URI("!" + Database.configDto.getIndexPage())).build();
2424
}
2525

26-
2726
@GET
2827
@Path("status")
2928
@Produces(MediaType.TEXT_PLAIN)

src/test/java/com/github/clagomess/modplsql/server/ModPlsqlControllerTest.java

+90
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33
import com.github.clagomess.modplsql.dto.ConfigDto;
44
import com.github.clagomess.modplsql.jdbc.Database;
55
import lombok.extern.slf4j.Slf4j;
6+
import org.apache.commons.lang.RandomStringUtils;
67
import org.hamcrest.CoreMatchers;
78
import org.hamcrest.MatcherAssert;
89
import org.junit.jupiter.api.Assertions;
910
import org.junit.jupiter.api.BeforeAll;
1011
import org.junit.jupiter.api.Test;
1112

1213
import javax.ws.rs.client.ClientBuilder;
14+
import javax.ws.rs.client.Entity;
15+
import javax.ws.rs.core.Form;
16+
import javax.ws.rs.core.MediaType;
17+
import javax.ws.rs.core.Response;
1318
import java.sql.SQLException;
1419

1520
@Slf4j
@@ -52,4 +57,89 @@ public void index() {
5257
log.info("{}", response);
5358
MatcherAssert.assertThat(response, CoreMatchers.containsString("Hello World"));
5459
}
60+
61+
@Test
62+
public void httpGetParam(){
63+
String p1 = RandomStringUtils.randomAlphanumeric(10);
64+
String p2 = RandomStringUtils.randomAlphanumeric(10);
65+
66+
String response = ClientBuilder.newClient()
67+
.target(endpoint + String.format("/!MODPLSQL.HTTP_PARAM?p1=%s&p2=%s", p1, p2))
68+
.request()
69+
.get(String.class);
70+
71+
log.info("{}", response);
72+
MatcherAssert.assertThat(response, CoreMatchers.containsString(String.format("P1 => %s", p1)));
73+
MatcherAssert.assertThat(response, CoreMatchers.containsString(String.format("P2 => %s", p2)));
74+
}
75+
76+
@Test
77+
public void httpPostParam(){
78+
String p1 = RandomStringUtils.randomAlphanumeric(10);
79+
String p2 = RandomStringUtils.randomAlphanumeric(10);
80+
81+
Form form = new Form();
82+
form.param("p1", p1);
83+
form.param("p2", p2);
84+
85+
Entity<Form> entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE);
86+
87+
String response = ClientBuilder.newClient()
88+
.target(endpoint + String.format("/!MODPLSQL.HTTP_PARAM?p1=%s&p2=%s", p1, p2))
89+
.request()
90+
.post(entity, String.class);
91+
92+
log.info("{}", response);
93+
MatcherAssert.assertThat(response, CoreMatchers.containsString(String.format("P1 => %s", p1)));
94+
MatcherAssert.assertThat(response, CoreMatchers.containsString(String.format("P2 => %s", p2)));
95+
}
96+
97+
@Test
98+
public void setCookie(){
99+
String cookie = RandomStringUtils.randomAlphanumeric(10);
100+
101+
String response = ClientBuilder.newClient()
102+
.target(endpoint + "/!MODPLSQL.SET_COOKIE")
103+
.request()
104+
.cookie("MODPLSQL_SESSION", cookie)
105+
.get(String.class);
106+
107+
log.info("{}", response);
108+
MatcherAssert.assertThat(response, CoreMatchers.containsString(String.format("COOKIE => %s", cookie)));
109+
}
110+
111+
@Test
112+
public void getCookie(){
113+
Response response = ClientBuilder.newClient()
114+
.target(endpoint + "/!MODPLSQL.GET_COOKIE")
115+
.request()
116+
.get();
117+
118+
log.info("{}", response);
119+
Assertions.assertTrue(response.getCookies().size() > 0);
120+
}
121+
122+
@Test
123+
public void httpNoParam(){
124+
String response = ClientBuilder.newClient()
125+
.target(endpoint + "/!MODPLSQL.HTTP_NO_PARAM")
126+
.request()
127+
.get(String.class);
128+
129+
log.info("{}", response);
130+
MatcherAssert.assertThat(response, CoreMatchers.containsString("HTTP_NO_PARAM => OK"));
131+
}
132+
133+
@Test
134+
public void httpNamedParam(){
135+
String p_vl1 = RandomStringUtils.randomAlphanumeric(10);
136+
137+
String response = ClientBuilder.newClient()
138+
.target(endpoint + "/!MODPLSQL.HTTP_NAMED_PARAM?P_VL1=" + p_vl1)
139+
.request()
140+
.get(String.class);
141+
142+
log.info("{}", response);
143+
MatcherAssert.assertThat(response, CoreMatchers.containsString("P_VL1 => " + p_vl1));
144+
}
55145
}

0 commit comments

Comments
 (0)