Skip to content

Commit

Permalink
test: FileSecretIT tests work on Windows (3277)
Browse files Browse the repository at this point in the history
FileSecretIT Issue solved

Signed-off-by: Puja <pujakarakoti070203@gmail.com>
---
test (gradle-plugin/it) : revert changes to FileDataSecretEnricher and add a separate test for windows

+ Revert changes to FileDataSecretEnricher
+ Add a separate test for windows that would provide expected files with windows line endings

Signed-off-by: Rohan Kumar <rohaan@redhat.com>

Co-authored-by: Rohan Kumar <rohaan@redhat.com>
  • Loading branch information
pujakarakoti07 and rohanKanojia authored Dec 19, 2024
1 parent a287a3f commit 71171c8
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Secret
metadata:
labels:
app: secret-file
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: secret-file
data:
# This contains application properties content with windows style line endings (CRLF)
application.properties: a2V5MSA9IHZhbHVlMQ0Ka2V5MiA9IHZhbHVlMg0Ka2V5MyA9IHZhbHVlMw==
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Secret
metadata:
labels:
app: secret-file
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: secret-file
data:
# This contains application properties content with windows style line endings (CRLF)
application.properties: a2V5MSA9IHZhbHVlMQ0Ka2V5MiA9IHZhbHVlMg0Ka2V5MyA9IHZhbHVlMw==
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@
import org.eclipse.jkube.kit.common.ResourceVerify;
import org.gradle.testkit.runner.BuildResult;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
import org.junit.jupiter.api.extension.RegisterExtension;

import java.io.IOException;

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

@DisabledOnOs(OS.WINDOWS)
class FileSecretIT {
@RegisterExtension
private final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* 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.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
import org.junit.jupiter.api.extension.RegisterExtension;

import java.io.IOException;

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

@EnabledOnOs(OS.WINDOWS)
class FileSecretWindowsIT {
@RegisterExtension
private final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();

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

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

0 comments on commit 71171c8

Please sign in to comment.