View Javadoc
1   /*
2    * The MIT License (MIT)
3    *
4    * Copyright (c) 2013-2026 The Coveralls Maven Plugin Project Contributors:
5    *     https://github.com/hazendaz/coveralls-maven-plugin/graphs/contributors
6    *
7    * Permission is hereby granted, free of charge, to any person obtaining a copy
8    * of this software and associated documentation files (the "Software"), to deal
9    * in the Software without restriction, including without limitation the rights
10   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11   * copies of the Software, and to permit persons to whom the Software is
12   * furnished to do so, subject to the following conditions:
13   *
14   * The above copyright notice and this permission notice shall be included in
15   * all copies or substantial portions of the Software.
16   *
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23   * THE SOFTWARE.
24   */
25  package org.eluder.coveralls.maven.plugin.service;
26  
27  import java.util.HashMap;
28  import java.util.Map;
29  
30  import org.junit.jupiter.api.Assertions;
31  import org.junit.jupiter.api.Test;
32  
33  /**
34   * The Class WerckerTest.
35   */
36  class WerckerTest {
37  
38      /**
39       * Env.
40       *
41       * @return the map
42       */
43      Map<String, String> env() {
44          final Map<String, String> env = new HashMap<>();
45          env.put("WERCKER", "true");
46          env.put("WERCKER_BUILD_URL", "https://app.wercker.com/build/123456789");
47          env.put("WERCKER_BUILD_ID", "123456789");
48          env.put("WERCKER_GIT_BRANCH", "master");
49          return env;
50      }
51  
52      /**
53       * Checks if is selected for nothing.
54       */
55      @Test
56      void isSelectedForNothing() {
57          Assertions.assertFalse(new Wercker(new HashMap<>()).isSelected());
58      }
59  
60      /**
61       * Checks if is selected for wercker.
62       */
63      @Test
64      void isSelectedForWercker() {
65          Assertions.assertTrue(new Wercker(this.env()).isSelected());
66      }
67  
68      /**
69       * Test get name.
70       */
71      @Test
72      void name() {
73          Assertions.assertEquals("wercker", new Wercker(this.env()).getName());
74      }
75  
76      /**
77       * Test get job id.
78       */
79      @Test
80      void jobId() {
81          Assertions.assertEquals("123456789", new Wercker(this.env()).getJobId());
82      }
83  
84      /**
85       * Test get build url.
86       */
87      @Test
88      void buildUrl() {
89          Assertions.assertEquals("https://app.wercker.com/build/123456789", new Wercker(this.env()).getBuildUrl());
90      }
91  
92      /**
93       * Test get branch.
94       */
95      @Test
96      void branch() {
97          Assertions.assertEquals("master", new Wercker(this.env()).getBranch());
98      }
99  
100     /**
101      * Test get build number.
102      */
103     @Test
104     void buildNumber() {
105         Assertions.assertEquals("123456789", new Wercker(this.env()).getBuildNumber());
106     }
107 
108     /**
109      * Test get pull request (null when not set).
110      */
111     @Test
112     void pullRequest() {
113         Assertions.assertNull(new Wercker(this.env()).getPullRequest());
114     }
115 
116     /**
117      * Test get pull request when set.
118      */
119     @Test
120     void pullRequestSet() {
121         final Map<String, String> env = new HashMap<>(this.env());
122         env.put("WERCKER_PULL_REQUEST", "42");
123         Assertions.assertEquals("42", new Wercker(env).getPullRequest());
124     }
125 
126     /**
127      * Test get environment.
128      */
129     @Test
130     void environment() {
131         final var env = new Wercker(this.env()).getEnvironment();
132         Assertions.assertEquals("123456789", env.getProperty("wercker_build_id"));
133         Assertions.assertEquals("https://app.wercker.com/build/123456789", env.getProperty("wercker_build_url"));
134         Assertions.assertEquals("master", env.getProperty("wercker_branch"));
135     }
136 
137 }