Files
libopenapi/what-changed/reports/summary_test.go
2023-10-08 12:23:48 -04:00

40 lines
1.6 KiB
Go

// Copyright 2022 Princess B33f Heavy Industries / Dave Shanley
// SPDX-License-Identifier: MIT
package reports
import (
"os"
"testing"
"github.com/pb33f/libopenapi"
v3 "github.com/pb33f/libopenapi/datamodel/low/v3"
"github.com/pb33f/libopenapi/what-changed/model"
"github.com/stretchr/testify/assert"
)
func createDiff() *model.DocumentChanges {
burgerShopOriginal, _ := os.ReadFile("../../test_specs/burgershop.openapi.yaml")
burgerShopUpdated, _ := os.ReadFile("../../test_specs/burgershop.openapi-modified.yaml")
originalDoc, _ := libopenapi.NewDocument(burgerShopOriginal)
updatedDoc, _ := libopenapi.NewDocument(burgerShopUpdated)
documentChanges, _ := libopenapi.CompareDocuments(originalDoc, updatedDoc)
return documentChanges
}
func TestCreateSummary_OverallReport(t *testing.T) {
changes := createDiff()
report := CreateOverallReport(changes)
assert.Equal(t, 1, report.ChangeReport[v3.InfoLabel].Total)
assert.Equal(t, 43, report.ChangeReport[v3.PathsLabel].Total)
assert.Equal(t, 9, report.ChangeReport[v3.PathsLabel].Breaking)
assert.Equal(t, 3, report.ChangeReport[v3.TagsLabel].Total)
assert.Equal(t, 1, report.ChangeReport[v3.ExternalDocsLabel].Total)
assert.Equal(t, 2, report.ChangeReport[v3.WebhooksLabel].Total)
assert.Equal(t, 2, report.ChangeReport[v3.ServersLabel].Total)
assert.Equal(t, 1, report.ChangeReport[v3.ServersLabel].Breaking)
assert.Equal(t, 1, report.ChangeReport[v3.SecurityLabel].Total)
assert.Equal(t, 20, report.ChangeReport[v3.ComponentsLabel].Total)
assert.Equal(t, 8, report.ChangeReport[v3.ComponentsLabel].Breaking)
}