Skip to content

Identify managed platforms not tracked by a package index #2174

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Prev Previous commit
Next Next commit
add the new props in the boards.Search func
  • Loading branch information
alessio-perugini committed May 12, 2023
commit 605ac835d9d557156bbdc354f293fc929d20d440
2 changes: 2 additions & 0 deletions commands/board/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,15 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR
Website: platform.Package.WebsiteURL,
Email: platform.Package.Email,
ManuallyInstalled: platform.ManuallyInstalled,
Indexed: platform.Indexed,
}

if latestPlatformRelease != nil {
rpcPlatform.Latest = latestPlatformRelease.Version.String()
}
if installedPlatformRelease != nil {
rpcPlatform.Installed = installedPlatformRelease.Version.String()
rpcPlatform.MissingMetadata = !installedPlatformRelease.HasMetadata()
}

// Platforms that are not installed don't have a list of boards
Expand Down
206 changes: 114 additions & 92 deletions commands/core/search_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,28 +53,32 @@ func TestPlatformSearch(t *testing.T) {

require.Len(t, res.SearchOutput, 2)
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})

res, stat = PlatformSearch(&rpc.PlatformSearchRequest{
Expand All @@ -86,16 +90,18 @@ func TestPlatformSearch(t *testing.T) {
require.NotNil(t, res)
require.Len(t, res.SearchOutput, 1)
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})

// Search the Package Maintainer
Expand All @@ -108,28 +114,32 @@ func TestPlatformSearch(t *testing.T) {
require.NotNil(t, res)
require.Len(t, res.SearchOutput, 2)
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})

// Search using the Package name
Expand All @@ -142,28 +152,32 @@ func TestPlatformSearch(t *testing.T) {
require.NotNil(t, res)
require.Len(t, res.SearchOutput, 2)
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})

// Search using the Platform name
Expand All @@ -176,28 +190,32 @@ func TestPlatformSearch(t *testing.T) {
require.NotNil(t, res)
require.Len(t, res.SearchOutput, 2)
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.5",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})
require.Contains(t, res.SearchOutput, &rpc.Platform{
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Id: "Retrokits-RK002:arm",
Installed: "",
Latest: "1.0.6",
Name: "RK002",
Maintainer: "Retrokits (www.retrokits.com)",
Website: "https://www.retrokits.com",
Email: "info@retrokits.com",
Boards: []*rpc.Board{{Name: "RK002"}},
Type: []string{"Contributed"},
Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"},
Indexed: true,
MissingMetadata: true,
})

// Search using a board name
Expand Down Expand Up @@ -246,7 +264,9 @@ func TestPlatformSearch(t *testing.T) {
{Name: "Arduino Industrial 101"},
{Name: "Linino One"},
},
Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"},
Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"},
Indexed: true,
MissingMetadata: true,
})

res, stat = PlatformSearch(&rpc.PlatformSearchRequest{
Expand Down Expand Up @@ -294,7 +314,9 @@ func TestPlatformSearch(t *testing.T) {
{Name: "Arduino Industrial 101"},
{Name: "Linino One"},
},
Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"},
Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"},
Indexed: true,
MissingMetadata: true,
})
}

Expand Down