Skip to content

Commit

Permalink
test (gradle-plugin/it) : revert changes to FileDataSecretEnricher an…
Browse files Browse the repository at this point in the history
…d 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 <[email protected]>
  • Loading branch information
rohanKanojia committed Dec 18, 2024
1 parent 655865f commit 8c7659e
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 3 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");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,7 @@ private Map<String, String> createSecretFromAnnotations(final Map<String, String
}

private byte[] readContent(String location) throws IOException {
String data = new String(Files.readAllBytes(Paths.get(location)));
data = data.replaceAll("\r?\n", "\n");
return data.getBytes();
return Files.readAllBytes(Paths.get(location));
}

private String getOutput(String key) {
Expand Down

0 comments on commit 8c7659e

Please sign in to comment.