eintopf.info@v0.13.16/service/group/transport_test.go (about) 1 // Copyright (C) 2022 The Eintopf authors 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <https://www.gnu.org/licenses/>. 15 16 package group_test 17 18 import ( 19 "testing" 20 21 "eintopf.info/internal/mock" 22 "eintopf.info/internal/xhttptest" 23 "eintopf.info/service/group" 24 ) 25 26 func TestRouter(t *testing.T) { 27 tests := []xhttptest.HttpTest{ 28 { 29 Name: "CORS/", 30 URI: "/", 31 Method: "OPTIONS", 32 WantStatus: 200, 33 WantHeaders: map[string]string{ 34 "Access-Control-Allow-Methods": "GET,POST,PUT,PATCH,DELETE,OPTIONS", 35 "Access-Control-Allow-Headers": "authorization, origin, content-type, accept, if-modified-since", 36 "Allow": "HEAD,GET,POST,PUT,PATCH,DELETE,OPTIONS", 37 }, 38 }, { 39 Name: "CORS/foo", 40 URI: "/foo", 41 Method: "OPTIONS", 42 WantStatus: 200, 43 WantHeaders: map[string]string{ 44 "Access-Control-Allow-Methods": "GET,POST,PUT,PATCH,DELETE,OPTIONS", 45 "Access-Control-Allow-Headers": "authorization, origin, content-type, accept, if-modified-since", 46 "Allow": "HEAD,GET,POST,PUT,PATCH,DELETE,OPTIONS", 47 }, 48 }, 49 } 50 51 mockedService := mock.NewGroupService() 52 mockedAuthService := mock.NewAuthService() 53 xhttptest.TestRouter(t, group.Router(mockedService, mockedAuthService), tests) 54 }