cuba-platform / cuba-sdk

Software development kit for CUBA Platform
Apache License 2.0
4 stars 3 forks source link

SDK saves remote repository with invalid URL #57

Closed MikhailSilk closed 4 years ago

MikhailSilk commented 4 years ago

Environment

Description of the bug or enhancement

  1. Run the SDK
  2. Run the repository add source command
  3. Enter any repository name
  4. Select the remote repository
  5. Enter incorrect URL (for example InvalidURL)
  6. Enter no to the question "Is repository authentication required?"
  7. Run repository list command

AR: Repository was saved with incorrect URL and list of repository shown with the exception.

Also, bug reproduce for the remote target repository Stacktrace

java.net.MalformedURLException: no protocol: /InvalidURL
        at java.base/java.net.URL.<init>(URL.java:627)
        at java.base/java.net.URL.<init>(URL.java:523)
        at java.base/java.net.URL.<init>(URL.java:470)
        at fuel/com.github.kittinunf.fuel.core.Encoding.createUrl(Encoding.kt:69)
        at fuel/com.github.kittinunf.fuel.core.Encoding.access$createUrl(Encoding.kt:10)
        at fuel/com.github.kittinunf.fuel.core.Encoding$encoder$1.invoke(Encoding.kt:45)
        at fuel/com.github.kittinunf.fuel.core.Encoding$encoder$1.invoke(Encoding.kt:10)
        at fuel/com.github.kittinunf.fuel.core.Encoding$request$2.invoke(Encoding.kt:57)
        at fuel/com.github.kittinunf.fuel.core.Encoding$request$2.invoke(Encoding.kt:10)
        at kotlin.stdlib/kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at fuel/com.github.kittinunf.fuel.core.Encoding.getRequest(Encoding.kt)
        at fuel/com.github.kittinunf.fuel.core.FuelManager.request(FuelManager.kt:66)
        at fuel/com.github.kittinunf.fuel.Fuel$Companion.request(Fuel.kt:130)
        at fuel/com.github.kittinunf.fuel.Fuel$Companion.head(Fuel.kt:111)
        at fuel/com.github.kittinunf.fuel.Fuel$Companion.head$default(Fuel.kt:110)
        at com.haulmont.cuba.cli.plugin.sdk/com.haulmont.cuba.cli.plugin.sdk.services.RepositoryManagerImpl.isOnline(RepositoryManagerImpl.kt:160)
        at com.haulmont.cuba.cli.plugin.sdk/com.haulmont.cuba.cli.plugin.sdk.commands.repository.ListRepositoryCommand.run(ListRepositoryCommand.kt:46)
        at com.haulmont.cli.core/com.haulmont.cli.core.commands.AbstractCommand.execute(AbstractCommand.kt:37)
        at com.haulmont.cli.core/com.haulmont.cli.core.ShellCli.evalCommand(ShellCli.kt:138)
        at com.haulmont.cli.core/com.haulmont.cli.core.ShellCli.run(ShellCli.kt:124)
        at com.haulmont.cli.core/com.haulmont.cli.core.EntryPointKt.main(EntryPoint.kt:116)
MikhailSilk commented 4 years ago
  1. Start to create a new repository
  2. Enter the repository name
  3. Select the remote repository
  4. Enter the following URL: http://test
  5. Enter no to the question "Is repository authentication required?"
  6. Run repository list command

AR: Repository was added изображение