Skip to content

Commit

Permalink
feat(lb): improve backend get output (#2575)
Browse files Browse the repository at this point in the history
Co-authored-by: Rémy Léone <rleone@scaleway.com>
  • Loading branch information
yfodil and remyleone authored Nov 21, 2022
1 parent 121b725 commit 08f2f0f
Show file tree
Hide file tree
Showing 18 changed files with 3,900 additions and 1,582 deletions.
2 changes: 2 additions & 0 deletions internal/namespaces/lb/v1/custom.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ func GetCommands() *core.Commands {
human.RegisterMarshalerFunc(lb.ACLActionType(""), human.EnumMarshalFunc(aclMarshalSpecs))
human.RegisterMarshalerFunc(lb.BackendServerStatsHealthCheckStatus(""), human.EnumMarshalFunc(backendServerStatsHealthCheckStatusMarshalSpecs))
human.RegisterMarshalerFunc(lb.BackendServerStatsServerState(""), human.EnumMarshalFunc(backendServerStatsServerStateMarshalSpecs))
human.RegisterMarshalerFunc(lb.LB{}, lbMarshalerFunc)
human.RegisterMarshalerFunc(lb.Backend{}, lbBackendMarshalerFunc)

cmds := GetGeneratedCommands()

Expand Down
24 changes: 24 additions & 0 deletions internal/namespaces/lb/v1/custom_backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,27 @@ var (
lb.BackendServerStatsServerStateStopping: &human.EnumMarshalSpec{Attribute: color.FgBlue, Value: "stopping"},
}
)

func lbBackendMarshalerFunc(i interface{}, opt *human.MarshalOpt) (string, error) {
type tmp lb.Backend
backend := tmp(i.(lb.Backend))

opt.Sections = []*human.MarshalSection{
{
FieldName: "HealthCheck",
},
{
FieldName: "Pool",
},
{
FieldName: "LB",
},
}

str, err := human.Marshal(backend, opt)
if err != nil {
return "", err
}

return str, nil
}
29 changes: 29 additions & 0 deletions internal/namespaces/lb/v1/custom_backend_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package lb

import (
"testing"

"github.com/scaleway/scaleway-cli/v2/internal/core"
"github.com/scaleway/scaleway-cli/v2/internal/namespaces/instance/v1"
)

func Test_GetBackend(t *testing.T) {
cmds := GetCommands()
cmds.Merge(instance.GetCommands())

t.Run("Simple", core.Test(&core.TestConfig{
Commands: cmds,
BeforeFunc: core.BeforeFuncCombine(
createLB(),
createInstance(),
createBackend(80),
addIP2Backend("{{ .Instance.PublicIP.Address }}"),
),
Cmd: "scw lb backend get {{ .Backend.ID }}",
Check: core.TestCheckGolden(),
AfterFunc: core.AfterFuncCombine(
deleteLB(),
deleteInstance(),
),
}))
}
8 changes: 8 additions & 0 deletions internal/namespaces/lb/v1/custom_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,5 +84,13 @@ func certificateCreateBuilder(c *core.Command) *core.Command {
}
}

c.View = &core.View{
Sections: []*core.ViewSection{
{
FieldName: "LB",
},
},
}

return c
}
164 changes: 82 additions & 82 deletions internal/namespaces/lb/v1/custom_certificate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,89 +13,89 @@ func Test_CreateCertificate(t *testing.T) {
// openssl x509 -req -sha256 -days 365 -in csr.txt -signkey private_key.txt -out certificate.txt -extensions req_ext

customCertificateChain := `
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
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
MepiPn3PLfsjd0iqJJ/3k3oqCMAUrw==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIFszCCA5ugAwIBAgIJANBJxhjW9oz3MA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
BAYTAkZSMRYwFAYDVQQIDA1JbGUtZGUtRnJhbmNlMQ4wDAYDVQQHDAVQYXJpczEW
MBQGA1UECgwNTXlDb21wYW55TmFtZTESMBAGA1UEAwwJbG9jYWxob3N0MRswGQYJ
KoZIhvcNAQkBFgxtZUBlbWFpbC5jb20wHhcNMjAwNzIyMDk0MzA1WhcNMjEwNzIy
MDk0MzA1WjB+MQswCQYDVQQGEwJGUjEWMBQGA1UECAwNSWxlLWRlLUZyYW5jZTEO
MAwGA1UEBwwFUGFyaXMxFjAUBgNVBAoMDU15Q29tcGFueU5hbWUxEjAQBgNVBAMM
CWxvY2FsaG9zdDEbMBkGCSqGSIb3DQEJARYMbWVAZW1haWwuY29tMIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwM6FCUSBpmsDoNktO6E5EgxwqRU+q14u
97MAiEKYFPWeEEz2F7nBKd4LT7agpG4kCCQIWohlqmYiWg6JJiEv2inKTTlYCYyU
1VT0ZcP6xpkCL8r7oN4b3pwCPIjyRimo1Pf3DnvoyfDmL/O7MkafAJhFQ6STys7a
KB9Q08mmc2nbCfjC1r+PIsYEI4OQRhDpZwSI4kJdLjjZS+lMaGv/US/yxYFnTju5
MaSeIiQhrXQ9mXd1xHGAICrOut4aRN60qHCvTHF+fKjYj41L6CCjdVPB7kVSNdg1
/hdEPMOL6mTL7oitporsneljhuhmkKCmVMtYwfyCr/Z3TiBIs2yD0ZrIkjdYSlkZ
vbM2Fy2aSoGc+lYguCH36RaiLSKL5rXj63/EcRnYmm4/Qutjdl1ZVSzVB4V30cxh
HedAZ1LQ77v9cFJKVthFxHGDa1uvCoRPbXMVP5zp6nIZWh2e39aClIniYKBTvHmN
I6Ta9zI0DvpNQHnPJUkYfdbSq6cvopXgtucPF16oLw2e82PpfBy6bfzhKZ8Rlh3d
1lRXYcx5NGo74vCiAEn8RorOMqB6Y22rVA7ugvAkd2j2x+3dXLixa2W2gunYBBIH
3ZpXVWf3e8ityPL4ElWakU7S1p0qYLtLTSTQN/q93al4pd8sVeMWvYNlga8oZQVC
Hqo5wJl6Xn0CAwEAAaM0MDIwMAYDVR0RBCkwJ4ISc2VydmVyLmV4YW1wbGUuY29t
ghFhbGlhcy5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAdPU0tVV1ryKL
zsGZaCKeEM+izrXL6Mg2W/BjQJmyDVGgCW4WTNrXHwhINuT3gBdGOdc0FjI5lOwu
jRyCVkWfxQANusClG4jJ3V90s2C//bT3VkQIT6Ajl2VYsEoSHE+/hN/8S7U6MCUz
ezvhfyGKiTj7pD3pGyb47Gys4kXY1p5t/TO1kVoaAfhnEXFSYMeMQLYGct5VB59o
NAQpSlt54umebbcHXz4V3M4/2R6RLQkkl1Jw9Xwq6uRRE52y3M/wAdVTpsRHixx/
ueyUqjx+ctPEXvZ7uvRuqYELV2gY/bFlNpR2J2mRw9Unw3sxSoDQG/CYmoiOIypF
fhdM7aVQMAyiKlCCVEj4mo67kR6Phnr6mOHm6oappJxhqMS7476+SQMGgMj4E8Zm
4jrDB1OC1Xk5f+DaNNH3RC2ONi8ujgjdlm6/kvSX7/9Qv/VXEnl4j0lwFTS0+uWA
ULsDgtZDL5rbIzyjHYsp3IsNStyTbgILVRzeG7ec8RQ9ywUQzdAgkUPnhZZCXeYa
enQQD5IHhCPymbX1YaJtOrIIWxgstt4jM74fbke4RBTYjfdd/St0e0QT77x2nPSD
W+PRZGQr+hGmvVf5TwVxOMNcwhVzBsFmo/fIwCef/F9N0j+8UUd8iv+LZ5DcWWCB
u7hOptIAnzVMFt9d/EhtaU6+KoWS/sI=
MIIFijCCA3KgAwIBAgIJAI+myVDGPxI7MA0GCSqGSIb3DQEBCwUAMG4xCzAJBgNV
BAYTAkZSMRYwFAYDVQQIDA1JbGUtZGUtRnJhbmNlMQ4wDAYDVQQHDAVQYXJpczEd
MBsGA1UECgwUTXlJbnRlcm5ldENvbXBhbnlMVEQxGDAWBgNVBAMMD3d3dy5leGFt
cGxlLmNvbTAeFw0yMjExMTQxNjA5MTFaFw0yMzExMTQxNjA5MTFaMG4xCzAJBgNV
BAYTAkZSMRYwFAYDVQQIDA1JbGUtZGUtRnJhbmNlMQ4wDAYDVQQHDAVQYXJpczEd
MBsGA1UECgwUTXlJbnRlcm5ldENvbXBhbnlMVEQxGDAWBgNVBAMMD3d3dy5leGFt
cGxlLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKOJJZJWGKyR
MBTSwA1dzTz7NGoJLXLWQyOq2rOiqfG2uZ3Djy+ATjb6/mP+/SgEFHiS4ETCmvZZ
PWU4bITm+FgEiOzyQ8EqdplH5Jrw54xim428ETydiASgghoiSSE+M9qzK4ROIrrf
LHQPmrBGyb0Chr87mQo6kDDXs3Pdssk1ORhaPAul9vsnIbZWEX09rZ1+vuxqFjVM
G70Zjwc1W9elYIYRYI1bwNCncHLbdHoGxSvAx6t/zxd/mGTEzji4dUJPAlrNx0yE
8RiGzixruer+1YNRYXHeg9Y/FxhgQ2gIIm7pVQgac9wNcBcUxqiUFIPvyjiPSgK3
SoBml4GAl3d1nP5+zAahV0UMty9Ez35lJq/qeLBTj2vyU34B7dEABG9JMllKxVLc
n97xDjSL22cSSWB63wDHB1oVWLBnlSLZDZFLuWdAW3t05qvnkwieqgtrrIubxClF
9VP92cyeggYNPmF3YspqYCxps22Y9JPU4m/cw6XRc/uBJUA6AMnw2OHUk3lfiq07
ca9NTMGiN+pt6Bwwt7wZTxlSLc9MSOon7TGddeLhkdOfevVrAhXKaYJU4/+ldsNS
J+V8FtVZk5C7k4XSUk8h6glLkDHlHcLS4OkK3w7T8LaSVrwVOw6BIWit359s43/7
SuNA8revIlYJgq33KeWDGv9vnZqHZTiLAgMBAAGjKzApMCcGA1UdEQQgMB6CC2V4
YW1wbGUuY29tgg93d3cuZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggIBAD/F
iIwu462RaaN8dZ7G0vhTGoz70hGsaLw7Qi8mOCN1hUfMrxh+oxLNUu9A/pNCx9zA
g4N/8xvA3L85kv4RkvPDP5KQ9h/zIKgV2ADv8Swu67fclEVa6Mk4BmRPghfhs/h/
9TEc3oyEyG6TQx5msPz9z9ghQyhgbYlo4DigAv8Gjz7RyGg1stD0LOeVg6pSVhK0
37+dg55hox5mMN36g2O+xEM85u4uB4dqp4ibvKPapq+wAYg0YK3R79+KmlsbCVC1
zFWyDwaH3H3VLb1a/aAHxUqvpTMmrJpeZWTPeVcsIKsml9NpjQgeIy4MjkjcHBJk
ZfZ9/R3OaM9Bl/OtUWEDadEXhMA/neJ0bZh8Bt2ql1GnKUYJPH0qWKgMwFThykcU
l54C512JDGk8tBiNAh2cqbbKX+M0jqTuDmSeLZOcvWM+k0T/VbeERalPdH3xXO3L
x4FFaqNY5W1sndunzYeWCpVNfK2unwcocj8hXl+Vcm0YgzDhz8CrgFQgp7qmtGH8
eewzvqkUm8i+N4c7Rax25M06EcT8dCfjHG0ScC+iOOrgm9V8bVNNsnUQzAqhwozp
FKQ9WcK8j+KuYrWQJihn/omlWXSQ+zs12N7yKVLVRuY8aw4XuWZwvuu4EkRLYcUD
5h467I4rNC2+9W+AcNkzCE2i/dCyt3f3y1Rtu8l0
-----END CERTIFICATE-----
`
t.Run("Import", core.Test(&core.TestConfig{
Expand Down
23 changes: 23 additions & 0 deletions internal/namespaces/lb/v1/custom_lb.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,29 @@ var (
}
)

func lbMarshalerFunc(i interface{}, opt *human.MarshalOpt) (string, error) {
type tmp lb.LB
loadbalancer := tmp(i.(lb.LB))

opt.Sections = []*human.MarshalSection{
{
FieldName: "IP",
Title: "IPs",
},
{
FieldName: "Instances",
Title: "Backends",
},
}

str, err := human.Marshal(loadbalancer, opt)
if err != nil {
return "", err
}

return str, nil
}

func lbWaitCommand() *core.Command {
return &core.Command{
Short: `Wait for a load balancer to reach a stable state`,
Expand Down
Loading

0 comments on commit 08f2f0f

Please sign in to comment.