Benoit Marty
3 months ago
committed by
Benoit Marty
3 changed files with 86 additions and 18 deletions
@ -0,0 +1,85 @@ |
|||||||
|
/* |
||||||
|
* Copyright (c) 2024 New Vector Ltd |
||||||
|
* |
||||||
|
* Licensed 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 io.element.android.tests.konsist |
||||||
|
|
||||||
|
import com.lemonappdev.konsist.api.Konsist |
||||||
|
import com.lemonappdev.konsist.api.verify.assertTrue |
||||||
|
import org.junit.Test |
||||||
|
|
||||||
|
class KonsistLicenseTest { |
||||||
|
private val publicLicense = """ |
||||||
|
/\* |
||||||
|
(?:.*\n)* \* Copyright \(c\) 20\d\d New Vector Ltd |
||||||
|
(?:.*\n)* \* |
||||||
|
\* Licensed 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 |
||||||
|
\* |
||||||
|
\* {5}https?://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\. |
||||||
|
\*/ |
||||||
|
""".trimIndent().toRegex() |
||||||
|
|
||||||
|
private val enterpriseLicense = """ |
||||||
|
/\* |
||||||
|
\* © 20\d\d New Vector Limited, Element Software SARL, Element Software Inc\., |
||||||
|
\* and Element Software GmbH \(the "Element Group"\) only make this file available |
||||||
|
\* under a proprietary license model\. |
||||||
|
\* |
||||||
|
\* Without a proprietary license with us, you cannot use this file\. The terms of |
||||||
|
\* the proprietary license agreement between you and any member of the Element Group |
||||||
|
\* shall always apply to your use of this file\. Unauthorised use, copying, distribution, |
||||||
|
\* or modification of this file, via any medium, is strictly prohibited\. |
||||||
|
\* |
||||||
|
\* For details about the licensing terms, you must either visit our website or contact |
||||||
|
\* a member of our sales team\. |
||||||
|
\*/ |
||||||
|
""".trimIndent().toRegex() |
||||||
|
|
||||||
|
@Test |
||||||
|
fun `assert that FOSS files have the correct license header`() { |
||||||
|
Konsist |
||||||
|
.scopeFromProject() |
||||||
|
.files |
||||||
|
.filter { |
||||||
|
it.path.contains("/enterprise/features").not() && |
||||||
|
it.nameWithExtension != "locales.kt" && |
||||||
|
it.name.startsWith("Template ").not() |
||||||
|
} |
||||||
|
.assertTrue { |
||||||
|
publicLicense.containsMatchIn(it.text) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun `assert that Enterprise files have the correct license header`() { |
||||||
|
Konsist |
||||||
|
.scopeFromProject() |
||||||
|
.files |
||||||
|
.filter { |
||||||
|
it.path.contains("/enterprise/features") |
||||||
|
} |
||||||
|
.assertTrue { |
||||||
|
enterpriseLicense.containsMatchIn(it.text) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,15 +0,0 @@ |
|||||||
\/\* |
|
||||||
(?:.*\n)* \* Copyright \(c\) 20\d\d New Vector Ltd |
|
||||||
(?:.*\n)* \* |
|
||||||
\* Licensed 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(?:s)?:\/\/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\. |
|
||||||
\*\/ |
|
Loading…
Reference in new issue