View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2013-2025 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.jcabi.github;
6   
7   import java.io.IOException;
8   import org.hamcrest.MatcherAssert;
9   import org.hamcrest.Matchers;
10  import org.junit.jupiter.api.BeforeAll;
11  import org.junit.jupiter.api.Test;
12  
13  /**
14   * Test case for {@link RtPublicMembers}.
15   * @since 0.4
16   */
17  final class RtPublicMembersITCase {
18      /**
19       * Test organization name.
20       */
21      private static final String ORG_NAME = "teamed";
22  
23      /**
24       * Test organization.
25       */
26      private static Organization org;
27  
28      /**
29       * Public member of the test organization.
30       */
31      private static User member;
32  
33      /**
34       * Non-member of the test organization.
35       */
36      private static User nonMember;
37  
38      /**
39       * Set up test fixtures.
40       */
41      @BeforeAll
42      static void setUp() {
43          final GitHub github = GitHubIT.connect();
44          final Users users = github.users();
45          RtPublicMembersITCase.org = github.organizations().get(RtPublicMembersITCase.ORG_NAME);
46          RtPublicMembersITCase.member = users.get("yegor256");
47          RtPublicMembersITCase.nonMember = users.get("charset");
48      }
49  
50      @Test
51      void checksPublicMembership() throws IOException {
52          MatcherAssert.assertThat(
53              "Check true positive of public membership in an organization",
54              RtPublicMembersITCase.org.publicMembers().contains(RtPublicMembersITCase.member),
55              Matchers.is(true)
56          );
57          MatcherAssert.assertThat(
58              "Check true negative of public membership in an organization",
59              !RtPublicMembersITCase.org.publicMembers().contains(RtPublicMembersITCase.nonMember),
60              Matchers.is(true)
61          );
62      }
63  
64      @Test
65      void listsPublicMembers() {
66          MatcherAssert.assertThat(
67              "Collection size is incorrect",
68              RtPublicMembersITCase.org.publicMembers().iterate(),
69              Matchers.iterableWithSize(Matchers.greaterThanOrEqualTo(1))
70          );
71          MatcherAssert.assertThat(
72              "Collection does not contain expected item",
73              RtPublicMembersITCase.org.publicMembers().iterate(),
74              Matchers.hasItem(RtPublicMembersITCase.member)
75          );
76          MatcherAssert.assertThat(
77              "Collection does not contain expected item",
78              RtPublicMembersITCase.org.publicMembers().iterate(),
79              Matchers.not(Matchers.hasItem(RtPublicMembersITCase.nonMember))
80          );
81      }
82  }