From 6bdaaed31a2ec36bc7df6f4133c880c1ef046e9f Mon Sep 17 00:00:00 2001 From: Sergey Loktev Date: Fri, 24 Mar 2023 08:26:58 +0300 Subject: [PATCH 1/2] Fixed exception with package.json search for utbot-js --- utbot-js/src/main/kotlin/service/PackageJsonService.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utbot-js/src/main/kotlin/service/PackageJsonService.kt b/utbot-js/src/main/kotlin/service/PackageJsonService.kt index 1d5d04a2b2..9e9edbc7e0 100644 --- a/utbot-js/src/main/kotlin/service/PackageJsonService.kt +++ b/utbot-js/src/main/kotlin/service/PackageJsonService.kt @@ -19,16 +19,16 @@ class PackageJsonService( ) { fun findClosestConfig(): PackageJson { - var currDir = File(filePathToInference.substringBeforeLast("/")) + var currDir = File(filePathToInference) do { + currDir = currDir.parentFile val matchingFiles: Array = currDir.listFiles( FilenameFilter { _, name -> return@FilenameFilter name == "package.json" } ) ?: throw IllegalStateException("Error occurred while scanning file system") if (matchingFiles.isNotEmpty()) return parseConfig(matchingFiles.first()) - currDir = currDir.parentFile - } while (currDir.path != projectPath) + } while (currDir.path.replace("\\", "/") != projectPath) return PackageJson.defaultConfig } From 6bb65c92a8f3847995f69e006e7d3b0518612568 Mon Sep 17 00:00:00 2001 From: Sergey Loktev Date: Mon, 27 Mar 2023 11:58:14 +0300 Subject: [PATCH 2/2] Minor refactoring --- utbot-js/src/main/kotlin/api/JsTestGenerator.kt | 2 +- utbot-js/src/main/kotlin/service/PackageJsonService.kt | 4 ++-- utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/utbot-js/src/main/kotlin/api/JsTestGenerator.kt b/utbot-js/src/main/kotlin/api/JsTestGenerator.kt index a72adaaa82..d008ed1391 100644 --- a/utbot-js/src/main/kotlin/api/JsTestGenerator.kt +++ b/utbot-js/src/main/kotlin/api/JsTestGenerator.kt @@ -113,7 +113,7 @@ class JsTestGenerator( ) context.packageJson = PackageJsonService( sourceFilePath, - projectPath, + File(projectPath), ).findClosestConfig() val paramNames = mutableMapOf>() val testSets = mutableListOf() diff --git a/utbot-js/src/main/kotlin/service/PackageJsonService.kt b/utbot-js/src/main/kotlin/service/PackageJsonService.kt index 9e9edbc7e0..3a2dac9a72 100644 --- a/utbot-js/src/main/kotlin/service/PackageJsonService.kt +++ b/utbot-js/src/main/kotlin/service/PackageJsonService.kt @@ -15,7 +15,7 @@ data class PackageJson( class PackageJsonService( private val filePathToInference: String, - private val projectPath: String + private val projectDir: File ) { fun findClosestConfig(): PackageJson { @@ -28,7 +28,7 @@ class PackageJsonService( } ) ?: throw IllegalStateException("Error occurred while scanning file system") if (matchingFiles.isNotEmpty()) return parseConfig(matchingFiles.first()) - } while (currDir.path.replace("\\", "/") != projectPath) + } while (currDir != projectDir) return PackageJson.defaultConfig } diff --git a/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt b/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt index 3da41c4387..ebea20a6ab 100644 --- a/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt +++ b/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt @@ -1,5 +1,6 @@ package settings +import java.io.File import org.utbot.common.PathUtil.replaceSeparator import service.PackageJsonService import settings.JsPackagesSettings.mochaData @@ -51,7 +52,7 @@ class PackageDataService( private val projectPath: String, private val pathToNpm: String, ) { - private val packageJson = PackageJsonService(filePathToInference, projectPath).findClosestConfig() + private val packageJson = PackageJsonService(filePathToInference, File(projectPath)).findClosestConfig() companion object { var nycPath: String = ""