Skip to content

Commit

Permalink
Sort stable everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
nicmue committed Sep 28, 2020
1 parent 2ba63b9 commit c4ad9a8
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 42 deletions.
8 changes: 4 additions & 4 deletions http/jsonapi/generator/generate_handler.go
Expand Up @@ -58,7 +58,7 @@ func (g *Generator) BuildHandler(schema *openapi3.Swagger) error {
for k := range paths {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

var routes []*route

Expand Down Expand Up @@ -150,7 +150,7 @@ func (g *Generator) generateResponseInterface(route *route, schema *openapi3.Swa
for k := range route.operation.Responses {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

for _, code := range keys {
response := route.operation.Responses[code]
Expand Down Expand Up @@ -341,7 +341,7 @@ func (g *Generator) buildRouter(routes []*route, schema *openapi3.Swagger) error
for name := range schema.Components.SecuritySchemes {
names = append(names, name)
}
sort.Strings(names)
sort.Stable(sort.StringSlice(names))
for _, name := range names {
routeStmts = append(routeStmts, jen.Id("authBackend").Dot("Init"+strings.Title(name)).Call(jen.Id("cfg"+strings.Title(name))))
}
Expand Down Expand Up @@ -374,7 +374,7 @@ func (g *Generator) buildRouter(routes []*route, schema *openapi3.Swagger) error

// sort the routes with query parameter to the top
sortableRoutes := sortableRouteList(routes)
sort.Sort(&sortableRoutes)
sort.Stable(&sortableRoutes)

// add all route handlers
for i := 0; i < len(sortableRoutes); i++ {
Expand Down
4 changes: 2 additions & 2 deletions http/jsonapi/generator/generate_security.go
Expand Up @@ -35,7 +35,7 @@ func (g *Generator) buildSecurityBackendInterface(schema *openapi3.Swagger) erro
for k := range securitySchemes {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))
hasDuplicatedSecuritySchema := false
for _, pathItem := range schema.Paths {
for _, op := range pathItem.Operations() {
Expand Down Expand Up @@ -82,7 +82,7 @@ func (g *Generator) buildSecurityConfigs(schema *openapi3.Swagger) error {
for k := range securitySchemes {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

for _, name := range keys {
value := securitySchemes[name]
Expand Down
8 changes: 4 additions & 4 deletions http/jsonapi/generator/generate_types.go
Expand Up @@ -26,7 +26,7 @@ func (g *Generator) BuildTypes(schema *openapi3.Swagger) error {
for k := range schemas {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

for _, name := range keys {
schemaType := schemas[name]
Expand Down Expand Up @@ -301,7 +301,7 @@ func (g *Generator) generateStructFields(prefix string, schema *openapi3.Schema,
for k := range schema.Properties {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

var fields []jen.Code
for _, attrName := range keys {
Expand Down Expand Up @@ -332,7 +332,7 @@ func (g *Generator) generateStructRelationships(prefix string, schema *openapi3.
for k := range schema.Properties {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

var relationships []jen.Code
for _, relName := range keys {
Expand Down Expand Up @@ -380,7 +380,7 @@ func (g *Generator) generateJSONAPIMeta(typeName string, stmt *jen.Statement, sc
for k := range schema.Properties {
keys = append(keys, k)
}
sort.Strings(keys)
sort.Stable(sort.StringSlice(keys))

for _, attrName := range keys {
g.Id("meta").Index(jen.Lit(attrName)).Op("=").Id("r").Dot("Meta").Dot(generateMethodName(attrName))
Expand Down
2 changes: 1 addition & 1 deletion http/jsonapi/generator/internal/pay/open-api_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 17 additions & 17 deletions http/jsonapi/generator/internal/poi/open-api_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions http/jsonapi/generator/route_test.go
Expand Up @@ -41,32 +41,32 @@ func TestSortableRouteList(t *testing.T) {
require.NoError(t, route.parseURL())
list[i] = route
}
sort.Sort(&list)
sort.Stable(&list)
actual := make([]string, len(paths))
for i, route := range list {
actual[i] = route.pattern
}
assert.Equal(t, []string{
"/beta/payment-method-kinds/applepay/authorize",
"/beta/transactions/{transactionId}/cancel",
"/beta/payment-methods/{paymentMethodId}/notification",
"/beta/payment-methods/confirm/{token}",
"/beta/payment-methods/{paymentMethodId}/authorize",
"/beta/transactions/{transactionId}/cancel",
"/beta/receipts/{transactionID}.{fileFormat}",
"/beta/payment-methods/hoyer",
"/beta/payment-methods/paydirekt",
"/beta/payment-methods/paypal",
"/beta/payment-methods/dkv",
"/beta/payment-methods/paydirekt",
"/beta/payment-methods/creditcard",
"/beta/payment-methods/hoyer",
"/beta/payment-methods/sepa-direct-debit",
"/beta/payment-methods/paypal",
"/beta/receipts/{transactionID}",
"/beta/transactions/{transactionId}",
"/beta/payment-tokens/{paymentTokenId}",
"/beta/payment-methods/{paymentMethodId}",
"/beta/receipts/{transactionID}",
"/beta/payment-methods?filter[status]=valid",
"/beta/payment-method-kinds",
"/beta/payment-methods",
"/beta/transactions",
"/beta/payment-methods",
"/beta/payment-method-kinds",
"/beta/transactions",
}, actual)
}
4 changes: 2 additions & 2 deletions http/jsonapi/request_test.go
Expand Up @@ -44,8 +44,8 @@ func TestUnmarshall_attrStringSlice(t *testing.T) {
t.Fatalf("Was expecting %d tags, got %d", e, a)
}

sort.Strings(tags)
sort.Strings(out.Tags)
sort.Stable(sort.StringSlice(tags))
sort.Stable(sort.StringSlice(out.Tags))

if out.Decimal1.String() != "9.9999999999999999999" {
t.Fatalf("Expected json dec1 data to be %#v got: %#v", "9.9999999999999999999", out.Decimal1.String())
Expand Down
4 changes: 2 additions & 2 deletions http/jsonapi/response_test.go
Expand Up @@ -108,8 +108,8 @@ func TestMarshal_attrStringSlice(t *testing.T) {
}

// Sort both
sort.Strings(jsonTagsStrings)
sort.Strings(tags)
sort.Stable(sort.StringSlice(jsonTagsStrings))
sort.Stable(sort.StringSlice(tags))

for i, tag := range tags {
if e, a := tag, jsonTagsStrings[i]; e != a {
Expand Down
4 changes: 2 additions & 2 deletions maintenance/health/servicehealthcheck/healthchecker_test.go
Expand Up @@ -253,8 +253,8 @@ func testListHealthChecks(expected []string, checkResult []string, t *testing.T)

// health check results are not ordered because ranging over a map is randomized,
// so the rows needs to be sorted for easy comprehension
sort.Strings(expected)
sort.Strings(checkResult)
sort.Stable(sort.StringSlice(expected))
sort.Stable(sort.StringSlice(checkResult))

for i := range expected {
require.Equal(t, expected[i], checkResult[i+1], "The entry of the health check table is wrong")
Expand Down

0 comments on commit c4ad9a8

Please sign in to comment.