#!/usr/bin/env ruby require "bundler/inline" gemfile do source "https://rubygems.org" gem "minitest", "~> 5.0" gem "net-hippie", "~> 1.0" end pid = Process.spawn("cargo run") sleep 1 at_exit do system("killall sts") 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 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