#!/usr/bin/env ruby require "bundler/inline" gemfile do gem "minitest" gem "net-hippie" end require "minitest/autorun" class ServerTest < Minitest::Test attr_reader :base_url, :client def setup @base_url = "http://127.0.0.1:7878" @client = Net::Hippie::Client.new pid = Process.spawn("cargo run") sleep 1 end def teardown # Process.kill(-9, pid) system("killall sts") end def test_homepage response = client.get(base_url + "/") assert_equal response.code, "200" end def test_not_found response = client.get(base_url + "/404") assert_equal "404", response.code end # /.well-known/oauth-authorization-server https://datatracker.ietf.org/doc/html/rfc8414#section-3.1 def test_metadata response = client.get(base_url + "/.well-known/oauth-authorization-server") assert_equal "200", response.code end # /token - Token endpoint https://datatracker.ietf.org/doc/html/rfc8693#section-2.3 def test_token end # /introspect - Token introspection https://datatracker.ietf.org/doc/html/rfc7662#section-2 def test_introspect end # /revoke - Token revocation # https://datatracker.ietf.org/doc/html/rfc7009#section-2.1 def test_revoke end end