// Path: src/main/java/com/deswaef/twitch/api/oauth/domain/AccessTokenRequest.java
// public class AccessTokenRequest {
// 
//     private String client_id;
//     private String client_secret;
//     private String grant_type = "authorization_code";
//     private String redirect_uri;
//     private String code;
// 
//     public AccessTokenRequest copy(String code) {
//         return new AccessTokenRequest()
//                 .setClient_secret(this.client_secret)
//                 .setRedirect_uri(this.getRedirect_uri())
//                 .setClient_id(this.getClient_id())
//                 .setGrant_type(this.getGrant_type())
//                 .setCode(code);
//     }
// 
//     public String getClient_id() {
//         return client_id;
//     }
// 
//     public AccessTokenRequest setClient_id(String client_id) {
//         this.client_id = client_id;
//         return this;
//     }
// 
//     public String getClient_secret() {
//         return client_secret;
//     }
// 
//     public AccessTokenRequest setClient_secret(String client_secret) {
//         this.client_secret = client_secret;
//         return this;
//     }
// 
//     public String getGrant_type() {
//         return grant_type;
//     }
// 
//     public AccessTokenRequest setGrant_type(String grant_type) {
//         this.grant_type = grant_type;
//         return this;
//     }
// 
//     public String getRedirect_uri() {
//         return redirect_uri;
//     }
// 
//     public AccessTokenRequest setRedirect_uri(String redirect_uri) {
//         this.redirect_uri = redirect_uri;
//         return this;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public AccessTokenRequest setCode(String code) {
//         this.code = code;
//         return this;
//     }
// }


import com.deswaef.twitch.api.oauth.domain.AccessTokenRequest;
import net.vidageek.mirror.dsl.Mirror;
import org.junit.Before;
import org.junit.Test;
import static org.fest.assertions.Assertions.assertThat;
package com.deswaef.twitch.configuration;




public class TwitchTest {

    public static final String BASE_URL = "https://api.twitch.tv/kraken";
    public static final String CLIENT_ID = "clientId";
    public static final String CLIENT_SECRET = "clientSecret";
    public static final String REDIRECT_URI = "redirectURI";
    public static final String GRANT_TYPE = "authorization_code";

    private Twitch twitch;

    @Before
    public void init(){
        twitch = Twitch.newTwitchInstance(BASE_URL, CLIENT_ID, CLIENT_SECRET, REDIRECT_URI);
    }


    @Test
    public void newHasValidAccessTokenRequestTemplate(){
// Path: src/main/java/com/deswaef/twitch/api/oauth/domain/AccessTokenRequest.java
// public class AccessTokenRequest {
// 
//     private String client_id;
//     private String client_secret;
//     private String grant_type = "authorization_code";
//     private String redirect_uri;
//     private String code;
// 
//     public AccessTokenRequest copy(String code) {
//         return new AccessTokenRequest()
//                 .setClient_secret(this.client_secret)
//                 .setRedirect_uri(this.getRedirect_uri())
//                 .setClient_id(this.getClient_id())
//                 .setGrant_type(this.getGrant_type())
//                 .setCode(code);
//     }
// 
//     public String getClient_id() {
//         return client_id;
//     }
// 
//     public AccessTokenRequest setClient_id(String client_id) {
//         this.client_id = client_id;
//         return this;
//     }
// 
//     public String getClient_secret() {
//         return client_secret;
//     }
// 
//     public AccessTokenRequest setClient_secret(String client_secret) {
//         this.client_secret = client_secret;
//         return this;
//     }
// 
//     public String getGrant_type() {
//         return grant_type;
//     }
// 
//     public AccessTokenRequest setGrant_type(String grant_type) {
//         this.grant_type = grant_type;
//         return this;
//     }
// 
//     public String getRedirect_uri() {
//         return redirect_uri;
//     }
// 
//     public AccessTokenRequest setRedirect_uri(String redirect_uri) {
//         this.redirect_uri = redirect_uri;
//         return this;
//     }
// 
//     public String getCode() {
//         return code;
//     }
// 
//     public AccessTokenRequest setCode(String code) {
//         this.code = code;
//         return this;
//     }
// }


// Path: src/test/java/com/deswaef/twitch/configuration/TwitchTest.java
import com.deswaef.twitch.api.oauth.domain.AccessTokenRequest;
import net.vidageek.mirror.dsl.Mirror;
import org.junit.Before;
import org.junit.Test;
import static org.fest.assertions.Assertions.assertThat;

package com.deswaef.twitch.configuration;




public class TwitchTest {

    public static final String BASE_URL = "https://api.twitch.tv/kraken";
    public static final String CLIENT_ID = "clientId";
    public static final String CLIENT_SECRET = "clientSecret";
    public static final String REDIRECT_URI = "redirectURI";
    public static final String GRANT_TYPE = "authorization_code";

    private Twitch twitch;

    @Before
    public void init(){
        twitch = Twitch.newTwitchInstance(BASE_URL, CLIENT_ID, CLIENT_SECRET, REDIRECT_URI);
    }


    @Test
    public void newHasValidAccessTokenRequestTemplate(){
        AccessTokenRequest requestTemplate = (AccessTokenRequest) new Mirror().on(twitch.accessTokens()).get().field("requestTemplate");