1   /* Copyright 2002-2025 CS GROUP
2    * Licensed to CS GROUP (CS) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * CS licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.orekit.gnss.metric.ntrip;
18  
19  import org.junit.jupiter.api.Assertions;
20  import org.junit.jupiter.api.Test;
21  
22  public class NetworkRecordTest {
23  
24      private static String IGS        = "NET;IGS;IGS;B;N;https://igs.bkg.bund.de/root_ftp/NTRIP/neteams/neteamlist_igs-ip.htm;https://igs.bkg.bund.de:443/root_ftp/IGS/station/rnxskl/;http://register.rtcm-ntrip.org;none";
25      private static String MISC       = "NET;MISC;BKG;B;N;http://igs.bkg.bund.de/root_ftp/NTRIP/neteams/neteamlist_igs-ip.htm;https://igs.bkg.bund.de:443/root_ftp/MISC/station/rnxskl/;http://register.rtcm-ntrip.org;none";
26  
27      @Test
28      public void testIGS() {
29          final NetworkRecord net = new NetworkRecord(IGS);
30          Assertions.assertEquals(RecordType.NET,                                                         net.getRecordType());
31          Assertions.assertEquals("IGS",                                                                  net.getNetworkIdentifier());
32          Assertions.assertEquals("IGS",                                                                  net.getOperator());
33          Assertions.assertEquals(Authentication.BASIC,                                                   net.getAuthentication());
34          Assertions.assertEquals(false,                                                                  net.areFeesRequired());
35          Assertions.assertEquals("https://igs.bkg.bund.de/root_ftp/NTRIP/neteams/neteamlist_igs-ip.htm", net.getNetworkInfoAddress());
36          Assertions.assertEquals("https://igs.bkg.bund.de:443/root_ftp/IGS/station/rnxskl/",             net.getStreamInfoAddress());
37          Assertions.assertEquals("http://register.rtcm-ntrip.org",                                       net.getRegistrationAddress());
38          Assertions.assertEquals("none",                                                                 net.getMisc());
39      }
40  
41      @Test
42      public void testMISC() {
43          final NetworkRecord net = new NetworkRecord(MISC);
44          Assertions.assertEquals(RecordType.NET,                                                         net.getRecordType());
45          Assertions.assertEquals("MISC",                                                                 net.getNetworkIdentifier());
46          Assertions.assertEquals("BKG",                                                                  net.getOperator());
47          Assertions.assertEquals(Authentication.BASIC,                                                   net.getAuthentication());
48          Assertions.assertEquals(false,                                                                  net.areFeesRequired());
49          Assertions.assertEquals("http://igs.bkg.bund.de/root_ftp/NTRIP/neteams/neteamlist_igs-ip.htm",  net.getNetworkInfoAddress());
50          Assertions.assertEquals("https://igs.bkg.bund.de:443/root_ftp/MISC/station/rnxskl/",            net.getStreamInfoAddress());
51          Assertions.assertEquals("http://register.rtcm-ntrip.org",                                       net.getRegistrationAddress());
52          Assertions.assertEquals("none",                                                                 net.getMisc());
53      }
54  
55      @Test
56      public void testDigestAuthentication() {
57          final NetworkRecord net = new NetworkRecord(IGS.replace(";B;", ";D;"));
58          Assertions.assertEquals(Authentication.DIGEST, net.getAuthentication());
59      }
60  
61      @Test
62      public void testNoAuthentication() {
63          final NetworkRecord net = new NetworkRecord(IGS.replace(";B;", ";N;"));
64          Assertions.assertEquals(Authentication.NONE, net.getAuthentication());
65      }
66  
67      @Test
68      public void testRequiresFees() {
69          final NetworkRecord net = new NetworkRecord(IGS.replace(";B;N;", ";B;Y;"));
70          Assertions.assertTrue(net.areFeesRequired());
71      }
72  
73  }