Skip to content

Remove dependency on helidon.io from unit tests #399

@romain-grecourt

Description

@romain-grecourt

Some cli unit tests rely on helidon.io and the published metadata to execute.

Sometime the test fails because the metadata update fails ; unit tests should be reliable and dissociated from the actual infrastructure.

E.g.

io.helidon.build.cli.impl.ArchetypeBrowserTest.testMpBrowser  Time elapsed: 0.821 s  <<< ERROR!
io.helidon.build.util.RequirementFailure: Helidon version 2.2.1 not found.
        at io.helidon.build.util.Requirements.failed(Requirements.java:63)
        at io.helidon.build.cli.impl.ArchetypeBrowser.<init>(ArchetypeBrowser.java:59)
        at io.helidon.build.cli.impl.ArchetypeBrowserTest.newBrowser(ArchetypeBrowserTest.java:35)
        at io.helidon.build.cli.impl.ArchetypeBrowserTest.testMpBrowser(ArchetypeBrowserTest.java:40)

Caused by:

stale check forced (not found) for /Users/rgrecour/workspace/helidon-build-tools/helidon-cli/impl/target/alice-11/.helidon/cache/2.2.1/.lastUpdate
Updating metadata for Helidon version 2.2.1
io.helidon.build.cli.impl.Plugins$PluginFailed: io.helidon.build.cli.plugin.Plugin$Failed: timeout accessing https://helidon.io/cli-data
        at io.helidon.build.cli.impl.Plugins.embedded(Plugins.java:156)
        at io.helidon.build.cli.impl.Plugins.execute(Plugins.java:134)
        at io.helidon.build.cli.impl.Plugins.execute(Plugins.java:113)
        at io.helidon.build.cli.impl.Metadata.update(Metadata.java:489)
        at io.helidon.build.cli.impl.Metadata.checkForUpdates(Metadata.java:399)
        at io.helidon.build.cli.impl.Metadata.checkForUpdates(Metadata.java:394)
        at io.helidon.build.cli.impl.Metadata.versionedFile(Metadata.java:389)
        at io.helidon.build.cli.impl.Metadata.catalogOf(Metadata.java:325)
        at io.helidon.build.cli.impl.Metadata.catalogOf(Metadata.java:314)
        at io.helidon.build.cli.impl.ArchetypeBrowser.<init>(ArchetypeBrowser.java:56)

We already have logic in place to run a local netty based http server as part of the unit tests, we need to expand its usage to all tests and figure out a proper way to test the actual helidon.io site.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions