package io.jenkins.plugins.casc; import hudson.security.SecurityRealm; import io.jenkins.plugins.casc.misc.ConfiguredWithReadme; import io.jenkins.plugins.casc.misc.JenkinsConfiguredWithReadmeRule; import jenkins.model.Jenkins; import org.jenkinsci.plugins.GithubSecurityRealm; import org.junit.Rule; import org.junit.Test; import org.junit.contrib.java.lang.system.EnvironmentVariables; import org.junit.rules.RuleChain; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; import static org.junit.Assert.assertEquals; /** * Purpose: * Test that we can configure: <a href="https://plugins.jenkins.io/github-oauth"/> */ public class GithubOAuthTest { @Rule public RuleChain chain = RuleChain.outerRule(new EnvironmentVariables() .set("GITHUB_SECRET", "j985j8fhfhh377")) .around(new JenkinsConfiguredWithReadmeRule()); @Test @ConfiguredWithReadme("github-oauth/README.md") public void testSampleVersionForOAuth() { SecurityRealm realm = Jenkins.get().getSecurityRealm(); assertThat(realm, instanceOf(GithubSecurityRealm.class)); GithubSecurityRealm gsh = (GithubSecurityRealm)realm; assertEquals("someId", gsh.getClientID()); assertEquals("https://api.github.com", gsh.getGithubApiUri()); assertEquals("https://github.com", gsh.getGithubWebUri()); assertEquals("j985j8fhfhh377", gsh.getClientSecret().getPlainText()); assertEquals("read:org,user:email", gsh.getOauthScopes()); } }