Merge pull request 'fix #2 and added some minimal tests' (#3) from feature/tt/#2-check-current-asignement into main
Reviewed-on: #3
This commit is contained in:
commit
a3bccb1910
@ -1,4 +1,12 @@
|
|||||||
steps:
|
steps:
|
||||||
|
test:
|
||||||
|
image: golang
|
||||||
|
commands:
|
||||||
|
- go test ./...
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
build:
|
build:
|
||||||
image: woodpeckerci/plugin-docker-buildx
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
settings:
|
settings:
|
||||||
|
25
internal/config_test.go
Normal file
25
internal/config_test.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
var defaultConfig = Config{
|
||||||
|
LogLevel: "Info",
|
||||||
|
LabelSelector: "kops.k8s.io/instance-role=Node",
|
||||||
|
Protocol: "http",
|
||||||
|
HcloudToken: "",
|
||||||
|
FloatingIPName: "",
|
||||||
|
DryRun: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfigDefaults(t *testing.T) {
|
||||||
|
cfg, err := GenConfig()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("%s", err.Error())
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(&defaultConfig, cfg) {
|
||||||
|
t.Errorf("got %+v, want %+v", cfg, defaultConfig)
|
||||||
|
}
|
||||||
|
}
|
23
internal/health_test.go
Normal file
23
internal/health_test.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestHealth(t *testing.T) {
|
||||||
|
go func() {
|
||||||
|
StartHealthEndpoint()
|
||||||
|
}()
|
||||||
|
request, _ := http.NewRequest(http.MethodGet, "http://localhost:8080/health", strings.NewReader(""))
|
||||||
|
resp, err := http.DefaultClient.Do(request)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Health endpoint did not start: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
t.Errorf("Bad response from health endpoint. Want: %d, got %d", http.StatusOK, resp.StatusCode)
|
||||||
|
}
|
||||||
|
}
|
@ -78,6 +78,12 @@ func AttachFloatingIpToNode(cfg *Config, server hcloud.Server) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New(fmt.Sprintf("Could not find Floating IP by name: %s", err.Error()))
|
return errors.New(fmt.Sprintf("Could not find Floating IP by name: %s", err.Error()))
|
||||||
}
|
}
|
||||||
|
if floatingIP.Server.ID == server.ID {
|
||||||
|
log.WithFields(log.Fields{
|
||||||
|
"Caller": "AttachFloatingIpToNode",
|
||||||
|
}).Info(fmt.Sprintf("Floating IP %s already assigned to Node %s", cfg.FloatingIPName, server.Name))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
_, _, err = client.FloatingIP.Assign(context.TODO(), floatingIP, &server)
|
_, _, err = client.FloatingIP.Assign(context.TODO(), floatingIP, &server)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
|
Loading…
Reference in New Issue
Block a user