eintopf.info@v0.13.16/service/place/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 place_test
    17  
    18  import (
    19  	"testing"
    20  
    21  	"eintopf.info/internal/mock"
    22  	"eintopf.info/internal/xhttptest"
    23  	"eintopf.info/service/place"
    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.NewPlaceService()
    52  	mockedAuthService := mock.NewAuthService()
    53  	xhttptest.TestRouter(t, place.Router(mockedService, mockedAuthService), tests)
    54  }