Fix file mess. Update micro-java endpoints, test, deployment file and pom.

This commit is contained in:
Manuel Aude Morales 2021-05-07 06:51:34 -05:00
parent 98139f4401
commit 408c9919b1
5 changed files with 81 additions and 247 deletions

View file

@ -108,6 +108,19 @@
<groupId>org.eclipse.jkube</groupId> <groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId> <artifactId>openshift-maven-plugin</artifactId>
<version>1.2.0</version> <version>1.2.0</version>
<configuration>
<resources>
<configMap>
<name>configmap-hello</name>
<entries>
<entry>
<name>APP_MSG</name>
<value>My custom application message.</value>
</entry>
</entries>
</configMap>
</resources>
</configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>

View file

@ -1,16 +1,36 @@
package com.redhat.training.openshift.hello; package com.redhat.training.openshift.hello;
import java.util.Optional;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET; import javax.ws.rs.GET;
import javax.ws.rs.Path; import javax.ws.rs.Path;
import javax.ws.rs.Produces; import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import org.eclipse.microprofile.config.inject.ConfigProperty;
@Path("/api") @Path("/api")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.TEXT_PLAIN)
public class HelloResource { public class HelloResource {
@ConfigProperty(name = "HOSTNAME", defaultValue = "unknown")
String hostname;
@ConfigProperty(name = "APP_MSG")
Optional<String> message;
@GET @GET
@Produces(MediaType.TEXT_PLAIN) @Path("/hello")
public String hello() { public String hello() {
return "Hello RESTEasy"; String response = "";
if (!message.isPresent()) {
response = "Hello world from host " + hostname + "\n";
} else {
response = "Hello world from host [" + hostname + "].\n";
response += "Message received = " + message.get() + "\n";
}
return response;
} }
} }

View file

@ -0,0 +1,41 @@
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
app: micro-java
provider: jkube
group: com.redhat.training.openshift.hello
strategy:
rollingParams:
timeoutSeconds: 3600
type: Rolling
template:
metadata:
annotations:
app.openshift.io/vcs-ref: master
jkube.io/git-url: git@github.com:maudemor/DO288-apps.git
app.openshift.io/vcs-uri: git@github.com:maudemor/DO288-apps.git
jkube.io/git-commit: 3bffad109a77ebd72831d8f791c38df68db28e60
jkube.io/git-branch: master
labels:
app: micro-java
provider: jkube
version: 1.0.0-SNAPSHOT
group: com.redhat.training.openshift.hello
spec:
containers:
- envFrom:
- configMapRef:
name: configmap-hello
env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: micro-java:latest
imagePullPolicy: IfNotPresent
name: quarkus
ports:
- containerPort: 8080
name: http
protocol: TCP

View file

@ -1,242 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>micro-java2 - 1.0.0-SNAPSHOT</title>
<style>
h1, h2, h3, h4, h5, h6 {
margin-bottom: 0.5rem;
font-weight: 400;
line-height: 1.5;
}
h1 {
font-size: 2.5rem;
}
h2 {
font-size: 2rem
}
h3 {
font-size: 1.75rem
}
h4 {
font-size: 1.5rem
}
h5 {
font-size: 1.25rem
}
h6 {
font-size: 1rem
}
.lead {
font-weight: 300;
font-size: 2rem;
}
.banner {
font-size: 2.7rem;
margin: 0;
padding: 2rem 1rem;
background-color: #0d1c2c;
color: white;
}
body {
margin: 0;
font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
code {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 87.5%;
color: #e83e8c;
word-break: break-word;
}
.left-column {
padding: .75rem;
max-width: 75%;
min-width: 55%;
}
.right-column {
padding: .75rem;
max-width: 25%;
}
.container {
display: flex;
width: 100%;
}
li {
margin: 0.75rem;
}
.right-section {
margin-left: 1rem;
padding-left: 0.5rem;
}
.right-section h3 {
padding-top: 0;
font-weight: 200;
}
.right-section ul {
border-left: 0.3rem solid #71aeef;
list-style-type: none;
padding-left: 0;
}
.examples {
display: flex;
flex-wrap: wrap;
margin: 20px 0 20px -40px;
}
.example {
display: flex;
margin-left: 20px;
margin-bottom: 20px;
flex-direction: column;
width: 350px;
background-color: #205894;
color: white;
}
.example code {
color: lightgrey;
}
.example-header {
padding: 20px;
display: flex;
position: relative;
}
.example-header h4 {
margin: 0;
font-size: 1.4rem;
flex-grow: 1;
line-height: 1.5;
}
.example-description {
padding: 0 20px;
flex-grow: 1;
}
.example-paths {
display: flex;
flex-direction: column;
}
.example-paths a {
display: block;
background-color: transparent;
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
color: white;
padding: 10px;
text-decoration: none;
}
.example-paths a:before {
content: '⇨';
font-weight: bold;
font-size: 1.5rem;
margin: 20px;
}
.example-paths a:hover {
background-color: #0d1c2c;
}
.guide-link {
background-color: #71aeef;
position: absolute;
color: white;
text-decoration: none;
top: 0;
right: 0;
padding: 7px;
font-weight: bold;
}
.guide-link:hover {
background-color: #0d1c2c;
}
</style>
</head>
<body>
<div class="banner lead">
Your new Cloud-Native application is ready!
</div>
<div class="container">
<div class="left-column">
<p class="lead"> Congratulations, you have created a new Quarkus cloud application.</p>
<h2>Why do you see this?</h2>
<p>This page is served by Quarkus. The source is in
<code>src/main/resources/META-INF/resources/index.html</code>.</p>
<h2>What can I do from here?</h2>
<p>If not already done, run the application in <em>dev mode</em> using: <code>./mvnw compile quarkus:dev</code>.
</p>
<ul>
<li>Play with your example code in <code>src/main/java</code>:
<div class="examples">
<div class="example">
<div class="example-header">
<h4>RESTEasy JAX-RS</h4>
<a href="https://quarkus.io/guides/rest-json" target="_blank" class="guide-link">Guide</a>
</div>
<div class="example-description">
<p>A Hello World RESTEasy resource</p>
</div>
<div class="example-paths">
<a href="/api" class="path-link" target="_blank">GET /api</a>
</div>
</div>
</div>
</li>
<li>Your static assets are located in <code>src/main/resources/META-INF/resources</code>.</li>
<li>Configure your application in <code>src/main/resources/application.properties</code>.</li>
</ul>
<h2>Do you like Quarkus?</h2>
<p>Go give it a star on <a href="https://github.com/quarkusio/quarkus">GitHub</a>.</p>
</div>
<div class="right-column">
<div class="right-section">
<h3>Application</h3>
<ul>
<li>GroupId: com.redhat.training.openshift.hello</li>
<li>ArtifactId: micro-java2</li>
<li>Version: 1.0.0-SNAPSHOT</li>
<li>Quarkus Version: 1.11.6.Final-redhat-00001</li>
</ul>
</div>
<div class="right-section">
<h3>Next steps</h3>
<ul>
<li><a href="https://quarkus.io/guides/maven-tooling.html" target="_blank">Setup your IDE</a></li>
<li><a href="https://quarkus.io/guides/getting-started.html" target="_blank">Getting started</a></li>
<li><a href="https://quarkus.io" target="_blank">Quarkus Web Site</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,21 +1,23 @@
package com.redhat.training.openshift.hello; package com.redhat.training.openshift.hello;
import io.quarkus.test.common.http.TestHTTPEndpoint;
import io.quarkus.test.junit.QuarkusTest; import io.quarkus.test.junit.QuarkusTest;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given; import static io.restassured.RestAssured.given;
import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.containsString;
@QuarkusTest @QuarkusTest
@TestHTTPEndpoint(HelloResource.class)
public class HelloResourceTest { public class HelloResourceTest {
@Test @Test
public void testHelloEndpoint() { public void testHelloEndpoint() {
given() given()
.when().get("/api") .when().get("/hello")
.then() .then()
.statusCode(200) .statusCode(200)
.body(is("Hello RESTEasy")); .body(containsString("Hello world from"));
} }
} }