1   /*
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2024, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  
15  package ch.qos.logback.classic.blackbox.util;
16  
17  import ch.qos.logback.classic.util.ClassicEnvUtil;
18  import ch.qos.logback.core.util.EnvUtil;
19  import org.junit.jupiter.api.BeforeEach;
20  import org.junit.jupiter.api.Test;
21  
22  import static org.junit.jupiter.api.Assertions.*;
23  
24  public class EnvUtilTest {
25  
26      // Beware: ----------------------------------------
27      // Beware:  needs to be updated upon version change
28      // Beware: ----------------------------------------
29      static final String EXPECTED_VERSION = "1.5";
30  
31  
32      @BeforeEach
33      public void setUp() throws Exception {
34  
35      }
36  
37      // this test runs fine if run from logback-classic but fails when
38      // run from logback-core. This is due to the fact that package information
39      // is added when creating the jar.
40      @Test
41      public void versionTest() {
42          String versionStr = EnvUtil.logbackVersion();
43          assertNotNull(versionStr);
44          assertTrue(versionStr.startsWith(EXPECTED_VERSION));
45      }
46  
47      @Test
48      public void versionCompare() {
49          String coreVersionStr = EnvUtil.logbackVersion();
50          String versionOfLogbackClassic = ClassicEnvUtil.getVersionOfLogbackClassic();
51          assertNotNull(coreVersionStr);
52          assertNotNull(versionOfLogbackClassic);
53  
54          assertEquals(coreVersionStr, versionOfLogbackClassic);
55      }
56  
57  
58  }