/
Chebarik
/
PackageManagement
Обзор
Документация
Войти
/
Chebarik
/
PackageManagement
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/java/com/packagemanagement/domain/model/PackageFormatTest.java
90 строк
3 KB
Николай Мехоношин
added unit tests
13 янв 2026, 20:50
13 янв 2026, 20:50
d22b6a7
Код
Авторство
О чём код?
package com.packagemanagement.domain.model; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import static org.junit.jupiter.api.Assertions.*; @DisplayName("PackageFormat Enum") class PackageFormatTest { @Nested @DisplayName("Format Properties") class FormatProperties { @Test @DisplayName("NUGET should have correct extension and content type") void nugetShouldHaveCorrectProperties() { assertEquals("nupkg", PackageFormat.NUGET.getExtension()); assertEquals("application/octet-stream", PackageFormat.NUGET.getContentType()); } @Test @DisplayName("MAVEN should have correct extension and content type") void mavenShouldHaveCorrectProperties() { assertEquals("jar", PackageFormat.MAVEN.getExtension()); assertEquals("application/java-archive", PackageFormat.MAVEN.getContentType()); } } @Nested @DisplayName("fromString") class FromString { @Test @DisplayName("should parse NUGET (case-insensitive)") void shouldParseNuget() { assertEquals(PackageFormat.NUGET, PackageFormat.fromString("NUGET")); assertEquals(PackageFormat.NUGET, PackageFormat.fromString("nuget")); assertEquals(PackageFormat.NUGET, PackageFormat.fromString("NuGet")); } @Test @DisplayName("should parse MAVEN (case-insensitive)") void shouldParseMaven() { assertEquals(PackageFormat.MAVEN, PackageFormat.fromString("MAVEN")); assertEquals(PackageFormat.MAVEN, PackageFormat.fromString("maven")); assertEquals(PackageFormat.MAVEN, PackageFormat.fromString("Maven")); } @ParameterizedTest @ValueSource(strings = {"npm", "zip", "unknown", "docker"}) @DisplayName("should throw exception for unsupported formats") void shouldThrowExceptionForUnsupportedFormats(String format) { IllegalArgumentException exception = assertThrows( IllegalArgumentException.class, () -> PackageFormat.fromString(format) ); assertTrue(exception.getMessage().contains("Unsupported package format")); } } @Nested @DisplayName("fromExtension") class FromExtension { @Test @DisplayName("should find NUGET by extension") void shouldFindNugetByExtension() { assertEquals(PackageFormat.NUGET, PackageFormat.fromExtension("nupkg")); assertEquals(PackageFormat.NUGET, PackageFormat.fromExtension("NUPKG")); } @Test @DisplayName("should find MAVEN by extension") void shouldFindMavenByExtension() { assertEquals(PackageFormat.MAVEN, PackageFormat.fromExtension("jar")); assertEquals(PackageFormat.MAVEN, PackageFormat.fromExtension("JAR")); } @Test @DisplayName("should return null for unknown extension") void shouldReturnNullForUnknownExtension() { assertNull(PackageFormat.fromExtension("zip")); assertNull(PackageFormat.fromExtension("exe")); } } }