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

Migrate unit tests to Kotlin #1060

Merged
merged 35 commits into from
Nov 30, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ec282f3
Intro assertk and lints
Goooler Nov 30, 2024
8897494
integrationTestImplementation main sourceSet
Goooler Nov 30, 2024
a8bd26c
Migrate SimpleRelocatorParameterTest
Goooler Nov 30, 2024
f68b945
Migrate SimpleRelocatorTest
Goooler Nov 30, 2024
7c78960
Migrate ApacheLicenseResourceTransformerTest
Goooler Nov 30, 2024
4223c7a
Merge remote-tracking branch 'origin/main' into g/migrate-unit-tests
Goooler Nov 30, 2024
81d4cba
Fix merge
Goooler Nov 30, 2024
fdcfde2
Merge remote-tracking branch 'origin/main' into g/migrate-unit-tests
Goooler Nov 30, 2024
fb9c674
Migrate AppendingTransformerTest
Goooler Nov 30, 2024
fb31caf
Migrate XmlAppendingTransformerTest
Goooler Nov 30, 2024
a0a216f
Migrate ApacheNoticeResourceTransformerTest
Goooler Nov 30, 2024
1eb69b6
Merge remote-tracking branch 'origin/main' into g/migrate-unit-tests
Goooler Nov 30, 2024
912ac6c
Fix merge
Goooler Nov 30, 2024
c9279dd
Merge remote-tracking branch 'origin/main' into g/migrate-unit-tests
Goooler Nov 30, 2024
3d6e23d
Fix merge
Goooler Nov 30, 2024
35cb0b2
Move packages
Goooler Nov 30, 2024
04cb7ea
Migrate ManifestAppenderTransformerTest
Goooler Nov 30, 2024
7d3c0f6
Migrate PropertiesFileTransformerTest
Goooler Nov 30, 2024
1965c0a
Migrate ComponentsXmlResourceTransformerTest
Goooler Nov 30, 2024
8e55c4f
Move sources into test source set
Goooler Nov 30, 2024
e3544de
Rename groovy folder to kotlin
Goooler Nov 30, 2024
dd2c603
Merge branch 'g/move-sources-for-temp' into g/migrate-unit-tests
Goooler Nov 30, 2024
217f2ce
Mark internal
Goooler Nov 30, 2024
a25f017
Change suffixes to .kt
Goooler Nov 30, 2024
3fd2a19
Merge branch 'g/move-sources-for-temp' into g/migrate-unit-tests
Goooler Nov 30, 2024
979dc95
Replace IOUtil
Goooler Nov 30, 2024
a7c7567
Remove redundant throwing
Goooler Nov 30, 2024
3653a4e
Remove SimpleRelocatorParameterTest as it's outdated
Goooler Nov 30, 2024
7b730f2
Cleanups
Goooler Nov 30, 2024
13da152
Rename setUp to setup
Goooler Nov 30, 2024
381136c
Cleanups
Goooler Nov 30, 2024
85d8129
Migrate java.io.File usages
Goooler Nov 30, 2024
3f094a0
Reuse doTransformAndGetTransformedPath
Goooler Nov 30, 2024
7ce919b
Cleanups
Goooler Nov 30, 2024
89bd766
Disable lintAnalyzeJvmTest for some devices
Goooler Nov 30, 2024
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
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/main' into g/migrate-unit-tests
// Conflicts:
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocatorParameterTest.groovy
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/relocation/SimpleRelocatorTest.groovy
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/ApacheLicenseResourceTransformerTest.groovy
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/ApacheNoticeResourceTransformerTest.groovy
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/AppendingTransformerTest.groovy
//	src/test/groovy/com/github/jengelman/gradle/plugins/shadow/transformers/XmlAppendingTransformerTest.groovy
  • Loading branch information
Goooler committed Nov 30, 2024
commit 1eb69b6959e74b739361bf4e7ff8b76b70c3532a
4 changes: 4 additions & 0 deletions src/test/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
root = true

[*.{groovy,java}]
indent_size = 2
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License") you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package com.github.jengelman.gradle.plugins.shadow.transformers

import com.github.jengelman.gradle.plugins.shadow.ShadowStats
Expand All @@ -29,46 +10,41 @@ import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test

/**
* Test for {@link ComponentsXmlResourceTransformer}.
*
* @author Brett Porter
* @version $Id: ComponentsXmlResourceTransformerTest.java 1379994 2012-09-02 15:22:49Z hboutemy $
*
* Modified from org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformerTest.java
*/
class ComponentsXmlResourceTransformerTest extends TransformerTestSupport<ComponentsXmlResourceTransformer> {
private static ShadowStats stats
private static ShadowStats stats

@BeforeEach
void setUp() {
transformer = new ComponentsXmlResourceTransformer()
stats = new ShadowStats()
}
@BeforeEach
void setUp() {
transformer = new ComponentsXmlResourceTransformer()
stats = new ShadowStats()
}

@Test
void testConfigurationMerging() {
@Test
void testConfigurationMerging() {

XMLUnit.setNormalizeWhitespace(true)
XMLUnit.setNormalizeWhitespace(true)

transformer.transform(
TransformerContext.builder()
.path("components-1.xml")
.inputStream(getClass().getResourceAsStream("/components-1.xml"))
.relocators(Collections.<Relocator> emptyList())
.stats(stats)
.build())
transformer.transform(
TransformerContext.builder()
.path("components-1.xml")
.inputStream(getClass().getResourceAsStream("/components-2.xml"))
.relocators(Collections.<Relocator> emptyList())
.stats(stats)
.build())
Diff diff = XMLUnit.compareXML(
IOUtil.toString(getClass().getResourceAsStream("/components-expected.xml"), "UTF-8"),
IOUtil.toString(transformer.getTransformedResource(), "UTF-8"))
//assertEquals( IOUtil.toString( getClass().getResourceAsStream( "/components-expected.xml" ), "UTF-8" ),
// IOUtil.toString( transformer.getTransformedResource(), "UTF-8" ).replaceAll("\r\n", "\n") )
XMLAssert.assertXMLIdentical(diff, true)
}
transformer.transform(
TransformerContext.builder()
.path("components-1.xml")
.inputStream(getClass().getResourceAsStream("/components-1.xml"))
.relocators(Collections.<Relocator> emptyList())
.stats(stats)
.build())
transformer.transform(
TransformerContext.builder()
.path("components-1.xml")
.inputStream(getClass().getResourceAsStream("/components-2.xml"))
.relocators(Collections.<Relocator> emptyList())
.stats(stats)
.build())
Diff diff = XMLUnit.compareXML(
IOUtil.toString(getClass().getResourceAsStream("/components-expected.xml"), "UTF-8"),
IOUtil.toString(transformer.getTransformedResource(), "UTF-8"))
//assertEquals( IOUtil.toString( getClass().getResourceAsStream( "/components-expected.xml" ), "UTF-8" ),
// IOUtil.toString( transformer.getTransformedResource(), "UTF-8" ).replaceAll("\r\n", "\n") )
XMLAssert.assertXMLIdentical(diff, true)
}
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License") you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package com.github.jengelman.gradle.plugins.shadow.transformers

import com.github.jengelman.gradle.plugins.shadow.ShadowStats
Expand All @@ -34,107 +15,107 @@ import static org.junit.jupiter.api.Assertions.*
* Test for {@link ManifestAppenderTransformer}.
*/
class ManifestAppenderTransformerTest extends TransformerTestSupport<ManifestAppenderTransformer> {
private static final String MANIFEST_NAME = "META-INF/MANIFEST.MF"

@BeforeEach
void setUp() {
transformer = new ManifestAppenderTransformer(objectFactory)
private static final String MANIFEST_NAME = "META-INF/MANIFEST.MF"

@BeforeEach
void setUp() {
transformer = new ManifestAppenderTransformer(objectFactory)
}

@Test
void testCanTransformResource() {
transformer.with {
append('Name', 'org/foo/bar/')
append('Sealed', true)
}

@Test
void testCanTransformResource() {
transformer.with {
append('Name', 'org/foo/bar/')
append('Sealed', true)
}
assertTrue(transformer.canTransformResource(getFileElement(MANIFEST_NAME)))
assertTrue(transformer.canTransformResource(getFileElement(MANIFEST_NAME.toLowerCase())))
}

assertTrue(transformer.canTransformResource(getFileElement(MANIFEST_NAME)))
assertTrue(transformer.canTransformResource(getFileElement(MANIFEST_NAME.toLowerCase())))
}
@Test
void testHasTransformedResource() {
transformer.append('Tag', 'Something')

@Test
void testHasTransformedResource() {
transformer.append('Tag', 'Something')
assertTrue(transformer.hasTransformedResource())
}

assertTrue(transformer.hasTransformedResource())
}
@Test
void testHasNotTransformedResource() {
assertFalse(transformer.hasTransformedResource())
}

@Test
void testHasNotTransformedResource() {
assertFalse(transformer.hasTransformedResource())
}
@Test
void testTransformation() {
transformer.with {
append('Name', 'org/foo/bar/')
append('Sealed', true)
append('Name', 'com/example/')
append('Sealed', false)

@Test
void testTransformation() {
transformer.with {
append('Name', 'org/foo/bar/')
append('Sealed', true)
append('Name', 'com/example/')
append('Sealed', false)

transform(new TransformerContext(MANIFEST_NAME, getResourceStream(MANIFEST_NAME), Collections.<Relocator> emptyList(), new ShadowStats()))
}

def testableZipFile = File.createTempFile("testable-zip-file-", ".jar")
def fileOutputStream = new FileOutputStream(testableZipFile)
def bufferedOutputStream = new BufferedOutputStream(fileOutputStream)
def zipOutputStream = new ZipOutputStream(bufferedOutputStream)

try {
transformer.modifyOutputStream(zipOutputStream, true)
} finally {
zipOutputStream.close()
}

def targetLines = readFrom(testableZipFile, MANIFEST_NAME)
assertFalse(targetLines.isEmpty())
assertTrue(targetLines.size() > 4)

def trailer = targetLines.with { subList(size() - 5, size()) }
assertEquals(asList(
"Name: org/foo/bar/",
"Sealed: true",
"Name: com/example/",
"Sealed: false",
""), trailer
)
transform(new TransformerContext(MANIFEST_NAME, getResourceStream(MANIFEST_NAME), Collections.<Relocator> emptyList(), new ShadowStats()))
}

@Test
void testNoTransformation() {
def sourceLines = getResourceStream(MANIFEST_NAME).readLines()
def testableZipFile = File.createTempFile("testable-zip-file-", ".jar")
def fileOutputStream = new FileOutputStream(testableZipFile)
def bufferedOutputStream = new BufferedOutputStream(fileOutputStream)
def zipOutputStream = new ZipOutputStream(bufferedOutputStream)

transformer.transform(new TransformerContext(MANIFEST_NAME, getResourceStream(MANIFEST_NAME), Collections.<Relocator> emptyList(), new ShadowStats()))

def testableZipFile = File.createTempFile("testable-zip-file-", ".jar")
def fileOutputStream = new FileOutputStream(testableZipFile)
def bufferedOutputStream = new BufferedOutputStream(fileOutputStream)
def zipOutputStream = new ZipOutputStream(bufferedOutputStream)

try {
transformer.modifyOutputStream(zipOutputStream, true)
} finally {
zipOutputStream.close()
}
def targetLines = readFrom(testableZipFile, MANIFEST_NAME)

assertEquals(sourceLines, targetLines)
try {
transformer.modifyOutputStream(zipOutputStream, true)
} finally {
zipOutputStream.close()
}

static List<String> readFrom(File jarFile, String resourceName) {
def zip = new ZipFile(jarFile)
try {
def entry = zip.getEntry(resourceName)
if (!entry) {
return Collections.emptyList()
}
return zip.getInputStream(entry).readLines()
} finally {
zip.close()
}
def targetLines = readFrom(testableZipFile, MANIFEST_NAME)
assertFalse(targetLines.isEmpty())
assertTrue(targetLines.size() > 4)

def trailer = targetLines.with { subList(size() - 5, size()) }
assertEquals(asList(
"Name: org/foo/bar/",
"Sealed: true",
"Name: com/example/",
"Sealed: false",
""), trailer
)
}

@Test
void testNoTransformation() {
def sourceLines = getResourceStream(MANIFEST_NAME).readLines()

transformer.transform(new TransformerContext(MANIFEST_NAME, getResourceStream(MANIFEST_NAME), Collections.<Relocator> emptyList(), new ShadowStats()))

def testableZipFile = File.createTempFile("testable-zip-file-", ".jar")
def fileOutputStream = new FileOutputStream(testableZipFile)
def bufferedOutputStream = new BufferedOutputStream(fileOutputStream)
def zipOutputStream = new ZipOutputStream(bufferedOutputStream)

try {
transformer.modifyOutputStream(zipOutputStream, true)
} finally {
zipOutputStream.close()
}

InputStream getResourceStream(String resource) {
this.class.classLoader.getResourceAsStream(resource)
def targetLines = readFrom(testableZipFile, MANIFEST_NAME)

assertEquals(sourceLines, targetLines)
}

static List<String> readFrom(File jarFile, String resourceName) {
def zip = new ZipFile(jarFile)
try {
def entry = zip.getEntry(resourceName)
if (!entry) {
return Collections.emptyList()
}
return zip.getInputStream(entry).readLines()
} finally {
zip.close()
}
}

InputStream getResourceStream(String resource) {
this.class.classLoader.getResourceAsStream(resource)
}
}
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.