mirror of
https://github.com/argoproj/argo-cd
synced 2026-04-21 17:07:16 +00:00
* Generate swagger files * Add basic Swagger definitions * Add reposerver swagger file * Consolidate swagger files * Move swagger files to swagger-ui directory instead * Put swagger files in swagger-ui * Fix order of operations * Move back to swagger directory * Serve API server swagger files raw for now * Serve reposerver swagger files from API server * Move back to subdirectories, thanks @alexmt * Fix comment on application Rollback * Update two more comments * Fix comment in session.proto * Update generated code * Update generated swagger docs * Fix comment for delete actions in cluster and repository swagger * Set expected collisions and invoke mixins * Update generated code * Create swagger mixins from codegen * Move swagger.json location, thanks @jazminGonzalez-Rivero * Add ref cleanup for swagger combined * Make fewer temp files when generating swagger * Delete intermediate swagger files * Serve new file at /swagger.json * Set up UI server * Update package lock * Commit generated swagger.json files * Add install commands for swagger * Use ReDoc server instead of Swagger UI server * Update lockfile * Make URL paths more consistent * Update package lock * Separate out handlers for Swagger UI, JSON * Rm unnecessary CORS headers ...since we're serving from the app server * Simplify serving * Further simplify serving code * Update package lock * Factor out swagger serving into util * Add test for Swagger server * Use ServeSwaggerUI method to run tests * Update package lock * Don't generate swagger for reposerver * Reset to master Gopkg.lock and server/server.go * Merge in prev change to server/server.go * Redo changes to Gopkg.lock * Fix number of conflicts * Update generated swagger.json for server * Fix issue with project feature error
66 lines
1.3 KiB
Go
66 lines
1.3 KiB
Go
package swagger
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net"
|
|
"net/http"
|
|
"testing"
|
|
|
|
"github.com/go-openapi/loads"
|
|
)
|
|
|
|
func TestSwaggerUI(t *testing.T) {
|
|
const sentinel = `{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"title": "Consolidate Services",
|
|
"description": "Description of all APIs",
|
|
"version": "version not set"
|
|
},
|
|
"paths": {}
|
|
}`
|
|
|
|
serve := func(c chan<- string) {
|
|
// listen on first available dynamic (unprivileged) port
|
|
listener, err := net.Listen("tcp", ":0")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// send back the address so that it can be used
|
|
c <- listener.Addr().String()
|
|
|
|
mux := http.NewServeMux()
|
|
ServeSwaggerUI(mux, "../../server", "/swagger-ui")
|
|
panic(http.Serve(listener, mux))
|
|
}
|
|
|
|
c := make(chan string, 1)
|
|
|
|
// run a local webserver to test data retrieval
|
|
go serve(c)
|
|
|
|
address := <-c
|
|
t.Logf("Listening at address: %s", address)
|
|
|
|
server := "http://" + address
|
|
|
|
specDoc, err := loads.Spec(server + "/swagger.json")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
_, err = json.MarshalIndent(specDoc.Spec(), "", " ")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
resp, err := http.Get(server + "/swagger-ui")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if resp.StatusCode != 200 {
|
|
t.Fatalf("Was expecting status code 200 from swagger-ui, but got %d instead", resp.StatusCode)
|
|
}
|
|
}
|