Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: prior tests to ensure name fixes #2354

Merged
merged 1 commit into from
Aug 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 4 additions & 20 deletions gradle-plugin/it/src/it/controller/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ repositories {
mavenCentral()
}

kubernetes {
def extensionConfig = {
offline = true
enricher {
config {
Expand All @@ -38,27 +38,11 @@ kubernetes {
image {
name = 'repository/controller:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
from = 'quay.io/jkube/jkube-java'
}
}
}
}

openshift {
offline = true
enricher {
config {
'jkube-controller' {
schedule = '*/2 * * * *'
}
}
}
images {
image {
name = 'repository/controller:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
}
}
}
}
kubernetes(extensionConfig)
openshift(extensionConfig)
49 changes: 49 additions & 0 deletions gradle-plugin/it/src/it/service-name/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* Copyright (c) 2019 Red Hat, Inc.
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at:
*
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
plugins {
id 'org.eclipse.jkube.kubernetes' version "${jKubeVersion}"
id 'org.eclipse.jkube.openshift' version "${jKubeVersion}"
id 'java'
}

group = 'org.eclipse.jkube.integration.tests.gradle'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
mavenCentral()
}

def extensionConfig = {
offline = true
images {
image {
name = 'repository/service-name:latest'
build {
from = 'quay.io/jkube/jkube-java'
ports = ['8080']
}
}
}
enricher {
config {
'jkube-service' {
name = 'customized-name'
}
}
}
}

kubernetes(extensionConfig)
openshift(extensionConfig)
76 changes: 76 additions & 0 deletions gradle-plugin/it/src/it/service-name/expected/kubernetes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: customized-name
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: service-name
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: service-name
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: service-name
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
template:
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: service-name
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: repository/service-name:latest
imagePullPolicy: IfNotPresent
name: repository-service-name
securityContext:
privileged: false
112 changes: 112 additions & 0 deletions gradle-plugin/it/src/it/service-name/expected/openshift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
app.openshift.io/vcs-ref: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: customized-name
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: service-name
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: service-name
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
app: service-name
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
strategy:
rollingParams:
timeoutSeconds: 3600
type: Rolling
template:
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: service-name
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: repository/service-name:latest
imagePullPolicy: IfNotPresent
name: repository-service-name
securityContext:
privileged: false
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- repository-service-name
from:
kind: ImageStreamTag
name: service-name:latest
type: ImageChange
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
labels:
app: service-name
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: customized-name
spec:
port:
targetPort: 8080
to:
kind: Service
name: customized-name
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,17 @@

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;

class DefaultControllerIT {
class ControllerIT {

private static final String TEST_PROJECT = "controller";

@RegisterExtension
private final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();
protected final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();

@Test
void k8sResourceTask_whenRun_generatesK8sManifestWithDeployment() throws IOException, ParseException {
// When
final BuildResult result = gradleRunner.withITProject("controller")
final BuildResult result = gradleRunner.withITProject(TEST_PROJECT)
.withArguments("k8sResource", "--stacktrace")
.build();
// Then
Expand All @@ -46,7 +49,7 @@ void k8sResourceTask_whenRun_generatesK8sManifestWithDeployment() throws IOExcep
@Test
void ocResourceTask_whenRun_generatesOpenShiftManifestWithDeploymentConfig() throws IOException, ParseException {
// When
final BuildResult result = gradleRunner.withITProject("controller")
final BuildResult result = gradleRunner.withITProject(TEST_PROJECT)
.withArguments("ocResource", "--stacktrace")
.build();
// Then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

class ServiceIT {
@RegisterExtension
private final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();
protected final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();

@Test
void k8sResourceTask_whenRun_generatesK8sManifestWithService() throws IOException, ParseException {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/*
* Copyright (c) 2019 Red Hat, Inc.
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at:
*
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.gradle.plugin.tests;

import net.minidev.json.parser.ParseException;
import org.eclipse.jkube.kit.common.ResourceVerify;
import org.gradle.testkit.runner.BuildResult;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;

import java.io.IOException;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;

@DisplayName("Service can have name overridden by configuration")
class ServiceNameIT {

private static final String TEST_PROJECT = "service-name";

@RegisterExtension
protected final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();

@Test
void k8sResourceTask() throws IOException, ParseException {
// When
final BuildResult result = gradleRunner.withITProject(TEST_PROJECT)
.withArguments("k8sResource", "--stacktrace")
.build();
// Then
ResourceVerify.verifyResourceDescriptors(gradleRunner.resolveDefaultKubernetesResourceFile(),
gradleRunner.resolveFile("expected", "kubernetes.yml"));
assertThat(result).extracting(BuildResult::getOutput).asString()
.contains("Using resource templates from")
.contains("Adding a default Deployment")
.contains("Adding revision history limit to 2")
.contains("validating");
}

@Test
void ocResourceTask() throws IOException, ParseException {
// When
final BuildResult result = gradleRunner.withITProject(TEST_PROJECT)
.withArguments("ocResource", "--stacktrace")
.build();
// Then
ResourceVerify.verifyResourceDescriptors(gradleRunner.resolveDefaultOpenShiftResourceFile(),
gradleRunner.resolveFile("expected", "openshift.yml"));
assertThat(result).extracting(BuildResult::getOutput).asString()
.contains("Using resource templates from")
.contains("Adding a default Deployment")
.contains("Adding revision history limit to 2")
.contains("validating");
}
}
Loading