aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mason-core/managers/github_spec.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-09-11 00:05:44 +0200
committerWilliam Boman <william@redwill.se>2025-02-16 09:32:29 +0100
commit2275067747a118d6002f421cb54f28affbc0ef98 (patch)
tree79bc1c2580ba96cc1b19e71f2b31f7c4c8ab490c /tests/mason-core/managers/github_spec.lua
parentchore(main): release 1.11.0 (#1658) (diff)
downloadmason-2275067747a118d6002f421cb54f28affbc0ef98.tar
mason-2275067747a118d6002f421cb54f28affbc0ef98.tar.gz
mason-2275067747a118d6002f421cb54f28affbc0ef98.tar.bz2
mason-2275067747a118d6002f421cb54f28affbc0ef98.tar.lz
mason-2275067747a118d6002f421cb54f28affbc0ef98.tar.xz
mason-2275067747a118d6002f421cb54f28affbc0ef98.tar.zst
mason-2275067747a118d6002f421cb54f28affbc0ef98.zip
refactor!: remove old managers (#1497)
Diffstat (limited to 'tests/mason-core/managers/github_spec.lua')
-rw-r--r--tests/mason-core/managers/github_spec.lua103
1 files changed, 0 insertions, 103 deletions
diff --git a/tests/mason-core/managers/github_spec.lua b/tests/mason-core/managers/github_spec.lua
deleted file mode 100644
index 852c3ff6..00000000
--- a/tests/mason-core/managers/github_spec.lua
+++ /dev/null
@@ -1,103 +0,0 @@
-local mock = require "luassert.mock"
-local stub = require "luassert.stub"
-
-local Optional = require "mason-core.optional"
-local Result = require "mason-core.result"
-local github = require "mason-core.managers.github"
-local installer = require "mason-core.installer"
-local providers = require "mason-core.providers"
-
-describe("github release file", function()
- it(
- "should use provided version",
- async_test(function()
- stub(providers.github, "get_latest_release")
- local handle = InstallHandleGenerator "dummy"
- local ctx = InstallContextGenerator(handle)
- installer.prepare_installer(ctx):get_or_throw()
- local source = installer.exec_in_context(ctx, function()
- return github.release_file {
- repo = "williamboman/mason.nvim",
- asset_file = "program.exe",
- version = Optional.of "13.37",
- }
- end)
- assert.spy(providers.github.get_latest_release).was_not_called()
- assert.equals("13.37", source.release)
- assert.equals(
- "https://github.com/williamboman/mason.nvim/releases/download/13.37/program.exe",
- source.download_url
- )
- end)
- )
-
- it(
- "should use use dynamic asset_file",
- async_test(function()
- stub(providers.github, "get_latest_release")
- providers.github.get_latest_release.returns(Result.success(mock.new {
- tag_name = "im_the_tag",
- }))
- local handle = InstallHandleGenerator "dummy"
- local ctx = InstallContextGenerator(handle)
- installer.prepare_installer(ctx):get_or_throw()
- local source = installer.exec_in_context(ctx, function()
- return github.release_file {
- repo = "williamboman/mason.nvim",
- asset_file = function(version)
- return version .. "_for_reals"
- end,
- }
- end)
- assert.spy(providers.github.get_latest_release).was_called(1)
- assert.spy(providers.github.get_latest_release).was_called_with "williamboman/mason.nvim"
- assert.equals("im_the_tag", source.release)
- assert.equals("im_the_tag_for_reals", source.asset_file)
- assert.equals(
- "https://github.com/williamboman/mason.nvim/releases/download/im_the_tag/im_the_tag_for_reals",
- source.download_url
- )
- end)
- )
-end)
-
-describe("github release version", function()
- it(
- "should use provided version",
- async_test(function()
- stub(providers.github, "get_latest_release")
- local handle = InstallHandleGenerator "dummy"
- local ctx = InstallContextGenerator(handle)
- installer.prepare_installer(ctx):get_or_throw()
- local source = installer.exec_in_context(ctx, function()
- return github.release_version {
- repo = "williamboman/mason.nvim",
- version = Optional.of "13.37",
- }
- end)
- assert.spy(providers.github.get_latest_release).was_not_called()
- assert.equals("13.37", source.release)
- end)
- )
-
- it(
- "should fetch latest release from GitHub API",
- async_test(function()
- async_test(function()
- stub(providers.github, "get_latest_release")
- providers.github.get_latest_release.returns(Result.success { tag_name = "v42" })
- local handle = InstallHandleGenerator "dummy"
- local ctx = InstallContextGenerator(handle)
- installer.prepare_installer(ctx):get_or_throw()
- local source = installer.exec_in_context(ctx, function()
- return github.release_version {
- repo = "williamboman/mason.nvim",
- }
- end)
- assert.spy(providers.github.get_latest_release).was_called(1)
- assert.spy(providers.github.get_latest_release).was_called_with "williamboman/mason.nvim"
- assert.equals("v42", source.release)
- end)
- end)
- )
-end)