diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index a8a9c04..7c9cbd2 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.1.1 - name: Build the Docker image run: docker build . --file Dockerfile --tag yosoy-local:latest - name: Run simple integration test diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index d9043e8..4e25dc2 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -15,16 +15,16 @@ jobs: contents: read steps: - name: Check out the repo - uses: actions/checkout@v3.5.3 + uses: actions/checkout@v4.1.1 - name: Log in to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Log in to the Container registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -32,7 +32,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | lukasz/yosoy @@ -44,7 +44,7 @@ jobs: type=semver,pattern={{major}} - name: Build and push Docker images - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . push: true diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index f283a35..aa0e9b0 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -6,7 +6,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.3 + - uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 diff --git a/server.go b/server.go index 8f03098..7a271b3 100644 --- a/server.go +++ b/server.go @@ -2,7 +2,6 @@ package main import ( "encoding/json" - "io/ioutil" "log" "net/http" "os" @@ -71,7 +70,7 @@ func handler(w http.ResponseWriter, req *http.Request) { response.Files = make(map[string]string) files := strings.Split(showFiles, ",") for _, file := range files { - bytes, err := ioutil.ReadFile(file) + bytes, err := os.ReadFile(file) if err != nil { log.Printf("Could not read file %v: %v\n", file, err) continue diff --git a/server_test.go b/server_test.go index 7a0e7b0..b2493e2 100644 --- a/server_test.go +++ b/server_test.go @@ -1,6 +1,7 @@ package main import ( + "bytes" "encoding/json" "net/http" "net/http/httptest" @@ -29,8 +30,12 @@ func TestHandler(t *testing.T) { t.Errorf("handler returned wrong status code: got %v want %v", status, http.StatusOK) } + result := rr.Result() + buf := new(bytes.Buffer) + buf.ReadFrom(result.Body) + var response response - json.Unmarshal(rr.Body.Bytes(), &response) + json.Unmarshal(buf.Bytes(), &response) // test response assert.Equal(t, 1, response.Counter) @@ -43,5 +48,5 @@ func TestHandler(t *testing.T) { assert.NotEmpty(t, response.Files[".gitignore"]) // test cors - assert.Contains(t, rr.HeaderMap["Access-Control-Allow-Origin"], "*") + assert.Contains(t, result.Header["Access-Control-Allow-Origin"], "*") }