// SPDX-FileCopyrightText: Copyright 2015-2025 go-swagger maintainers
// SPDX-License-Identifier: Apache-2.0

package spec

import (
	"testing"

	"github.com/go-openapi/testify/v2/assert"
)

func TestDefaultResolutionCache(t *testing.T) {
	jsonSchema := MustLoadJSONSchemaDraft04()
	swaggerSchema := MustLoadSwagger20Schema()

	cache := defaultResolutionCache()

	sch, ok := cache.Get("not there")
	assert.FalseT(t, ok)
	assert.Nil(t, sch)

	sch, ok = cache.Get("http://swagger.io/v2/schema.json")
	assert.TrueT(t, ok)
	assert.Equal(t, swaggerSchema, sch)

	sch, ok = cache.Get("http://json-schema.org/draft-04/schema")
	assert.TrueT(t, ok)
	assert.Equal(t, jsonSchema, sch)

	cache.Set("something", "here")
	sch, ok = cache.Get("something")
	assert.TrueT(t, ok)
	assert.Equal(t, "here", sch)
}
