feat(remote-speakers): enhance remote speaker management and API integration
CI / changes (push) Successful in 8s
CI / commitlint (push) Has been skipped
CI / openapi (push) Successful in 25s
CI / web (push) Failing after 34s
CI / go (push) Failing after 19s
CI / bird2 (push) Has been skipped
CI / release (push) Has been skipped
CI / changes (push) Successful in 8s
CI / commitlint (push) Has been skipped
CI / openapi (push) Successful in 25s
CI / web (push) Failing after 34s
CI / go (push) Failing after 19s
CI / bird2 (push) Has been skipped
CI / release (push) Has been skipped
- Added support for remote speaker configuration in the README and documentation. - Implemented a new endpoint for retrieving the bundle signing public key. - Updated the `evobgp-agent` to include a `serve` command for Panel→Node sync API. - Enhanced CI workflow to validate remote speaker compose files. - Introduced new fields in the API and UI for managing speaker metadata, including dispatch status and sync status. - Improved error handling and response formatting in speaker-related API endpoints. - Updated documentation to reflect changes in remote speaker functionality and usage guidelines.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package store_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"evobgp/internal/store"
|
||||
)
|
||||
|
||||
func TestParseSpeakerMeta_defaults(t *testing.T) {
|
||||
t.Parallel()
|
||||
m := store.ParseSpeakerMeta(`{"agent_domain":"bgp1.example.com"}`)
|
||||
if m.AgentPort != 8443 {
|
||||
t.Fatalf("default port: got %d", m.AgentPort)
|
||||
}
|
||||
if m.AgentDomain != "bgp1.example.com" {
|
||||
t.Fatalf("domain: %q", m.AgentDomain)
|
||||
}
|
||||
}
|
||||
|
||||
func TestIPv4FromEndpoint(t *testing.T) {
|
||||
t.Parallel()
|
||||
if got := store.IPv4FromEndpoint("https://203.0.113.10:8443"); got != "203.0.113.10" {
|
||||
t.Fatalf("got %q", got)
|
||||
}
|
||||
if got := store.IPv4FromEndpoint("bgp-dc2.example.com"); got != "" {
|
||||
t.Fatalf("hostname should be empty, got %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAgentSyncURL(t *testing.T) {
|
||||
t.Parallel()
|
||||
u := store.AgentSyncURL(store.SpeakerMeta{AgentDomain: "node.example.com"})
|
||||
if u != "https://node.example.com/v1/agent/sync" {
|
||||
t.Fatalf("got %q", u)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user