mirror of
https://github.com/Mr-In4inci3le/sliver-gui
synced 2026-08-09 12:14:37 +00:00
- Fix connect flow (a JS syntax error had disabled every frontend handler) - Redesign agent graph as pivot topology: firewall egress, hierarchical chains, arrows coloured by agent (green session / red privileged / blue beacon), join chains by session id so same-host pivots render correctly - Implant generation: align Sliver dep with teamserver protobuf, add tcp-pivot / named-pipe C2 schemes, baseline MTLS transport (fixes exit status 1) - Generate UX: decouple build from save (no stuck 'Building...' spinner) - Wire the armory command (list / install / remove) - App window/taskbar icon + Linux .desktop entry; author watermark - Premium README refresh
56 lines
1.4 KiB
Go
Executable File
56 lines
1.4 KiB
Go
Executable File
package main
|
|
|
|
import "testing"
|
|
|
|
func TestPackArgs_MissingRequired(t *testing.T) {
|
|
cmd := &extCommand{Arguments: []extArg{
|
|
{Name: "target", Type: "string"},
|
|
}}
|
|
if _, err := packArgs(cmd, nil); err == nil {
|
|
t.Fatal("expected error for missing required argument, got nil")
|
|
}
|
|
}
|
|
|
|
func TestPackArgs_OptionalSkipped(t *testing.T) {
|
|
cmd := &extCommand{Arguments: []extArg{
|
|
{Name: "opt", Type: "string", Optional: true},
|
|
}}
|
|
if _, err := packArgs(cmd, nil); err != nil {
|
|
t.Fatalf("optional argument should be skippable, got %v", err)
|
|
}
|
|
}
|
|
|
|
func TestPackArgs_IntValidation(t *testing.T) {
|
|
cmd := &extCommand{Arguments: []extArg{
|
|
{Name: "n", Type: "int"},
|
|
}}
|
|
if _, err := packArgs(cmd, []string{"notanumber"}); err == nil {
|
|
t.Fatal("expected error for non-integer int arg, got nil")
|
|
}
|
|
if _, err := packArgs(cmd, []string{"42"}); err != nil {
|
|
t.Fatalf("valid int arg failed: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestPackArgs_UnsupportedType(t *testing.T) {
|
|
cmd := &extCommand{Arguments: []extArg{
|
|
{Name: "x", Type: "bogus"},
|
|
}}
|
|
if _, err := packArgs(cmd, []string{"v"}); err == nil {
|
|
t.Fatal("expected error for unsupported arg type, got nil")
|
|
}
|
|
}
|
|
|
|
func TestPackArgs_StringOK(t *testing.T) {
|
|
cmd := &extCommand{Arguments: []extArg{
|
|
{Name: "s", Type: "string"},
|
|
}}
|
|
buf, err := packArgs(cmd, []string{"hello"})
|
|
if err != nil {
|
|
t.Fatalf("string arg failed: %v", err)
|
|
}
|
|
if len(buf) == 0 {
|
|
t.Fatal("expected non-empty packed buffer")
|
|
}
|
|
}
|