From d18efa1f96c1893cdbf0a45efe9eb2237def3e01 Mon Sep 17 00:00:00 2001 From: anshul sharma Date: Sun, 27 Jul 2025 08:18:21 +0530 Subject: [PATCH] added test cases for plugins getter --- packer/plugin-getter/plugins_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packer/plugin-getter/plugins_test.go b/packer/plugin-getter/plugins_test.go index caf4632c3..62e5dde3e 100644 --- a/packer/plugin-getter/plugins_test.go +++ b/packer/plugin-getter/plugins_test.go @@ -48,6 +48,7 @@ func TestRequirement_InstallLatestFromGithub(t *testing.T) { args{InstallOptions{ []Getter{ &mockPluginGetter{ + Name: "github.com", Releases: []Release{ {Version: "v1.2.3"}, }, @@ -701,6 +702,27 @@ type mockPluginGetter struct { } func (g *mockPluginGetter) Init(req *Requirement, entry *ChecksumFileEntry) error { + filename := entry.Filename + res := strings.TrimPrefix(filename, req.FilenamePrefix()) + // res now looks like v0.2.12_x5.0_freebsd_amd64.zip + + entry.Ext = filepath.Ext(res) + + res = strings.TrimSuffix(res, entry.Ext) + // res now looks like v0.2.12_x5.0_freebsd_amd64 + + parts := strings.Split(res, "_") + // ["v0.2.12", "x5.0", "freebsd", "amd64"] + + if g.Name == "github.com" { + + } + if len(parts) < 4 { + return fmt.Errorf("malformed filename expected %s{version}_x{protocol-version}_{os}_{arch}", req.FilenamePrefix()) + } + + entry.BinVersion, entry.ProtVersion, entry.Os, entry.Arch = parts[0], parts[1], parts[2], parts[3] + return nil }