libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

BaseUrlTest.kt (1607B)


      1 /*
      2  * This file is part of LibEuFin.
      3  * Copyright (C) 2025 Taler Systems S.A.
      4 
      5  * LibEuFin is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU Affero General Public License as
      7  * published by the Free Software Foundation; either version 3, or
      8  * (at your option) any later version.
      9 
     10  * LibEuFin is distributed in the hope that it will be useful, but
     11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
     13  * Public License for more details.
     14 
     15  * You should have received a copy of the GNU Affero General Public
     16  * License along with LibEuFin; see the file COPYING.  If not, see
     17  * <http://www.gnu.org/licenses/>
     18  */
     19 
     20 import org.junit.Test
     21 import tech.libeufin.common.*
     22 import kotlin.test.*
     23 
     24 class BaseUrlTest {
     25     @Test
     26     fun test() {
     27         for (valid in listOf(
     28             "https://www.example.com/",
     29             "http://localhost:8080/",
     30             "https://api.example.com/v1/",
     31             "https://example.com:3000/path/",
     32         )) {
     33             val parsed = BaseURL.parse(valid)
     34             assertEquals(parsed.toString(), valid)
     35         }
     36 
     37         for (invalid in listOf(
     38             "https://example.com?param=value",
     39             "https://example.com#section",
     40             "https://not.a/base/url",
     41             "file://not.http.com/",
     42             "not-a-url",
     43             "no.transport.com/",
     44             "://example.com",
     45             "https://",
     46             "",
     47             "   ",
     48         )) {
     49             assertFails { BaseURL.parse(invalid) }
     50         }
     51     }
     52 }