// Path: src/main/java/net/joelinn/asana/Colors.java
// public class Colors {
//     public static final String DARK_PINK = "dark-pink";
//     public static final String DARK_GREEN = "dark-green";
//     public static final String DARK_BLUE = "dark-blue";
//     public static final String DARK_RED = "dark-red";
//     public static final String DARK_TEAL = "dark-teal";
//     public static final String DARK_BROWN = "dark-brown";
//     public static final String DARK_ORANGE = "dark-orange";
//     public static final String DARK_PURPLE = "dark-purple";
//     public static final String DARK_WARM_GRAY = "dark-warm-gray";
//     public static final String LIGHT_PINK = "light-pink";
//     public static final String LIGHT_GREEN = "light-green";
//     public static final String LIGHT_BLUE = "light-blue";
//     public static final String LIGHT_RED = "light-red";
//     public static final String LIGHT_TEAL = "light-teal";
//     public static final String LIGHT_YELLOW = "light-yellow";
//     public static final String LIGHT_ORANGE = "light-orange";
//     public static final String LIGHT_PURPLE = "light-purple";
//     public static final String LIGHT_WARM_GRAY = "light-warm-gray";
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/Tag.java
// @JsonRootName("data")
// public class Tag {
//     public long id;
// 
//     @JsonProperty("created_at")
//     public String createdAt;
// 
//     public Users followers;
//     public String name;
//     public String color;
//     public String notes;
//     public Workspace workspace;
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/TagsClient.java
// public class TagsClient extends AbstractClient{
//     public TagsClient(String apiKey) {
//         super(apiKey);
//     }
// 
//     /**
//      * @param apiKey            your Asana API key
//      * @param connectionTimeout the connection timeout in MILLISECONDS
//      * @param readTimeout       the read timeout in MILLISECONDS
//      */
//     public TagsClient(String apiKey, int connectionTimeout, int readTimeout) {
//         super(apiKey, connectionTimeout, readTimeout);
//     }
// 
//     public Tag createTag(TagsRequestBuilder builder){
//         return post("", builder.build()).getEntity(Tag.class);
//     }
// 
//     public Tag updateTag(long tagId, TagsRequestBuilder builder){
//         return put(Long.toString(tagId), builder.build()).getEntity(Tag.class);
//     }
// 
//     public Tag getTag(long tagId){
//         return get(Long.toString(tagId)).getEntity(Tag.class);
//     }
// 
//     public void deleteTag(long tagId){
//         delete(Long.toString(tagId));
//     }
// 
//     public Tags getTags(){
//         return get("").getEntity(Tags.class);
//     }
// 
//     @Override
//     protected ClientResponse request(String method, String url, MultivaluedMapImpl queryParams, MultivaluedMapImpl data) {
//         return super.request(method, "tags/" + url, queryParams, data);
//     }
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/TagsRequestBuilder.java
// public class TagsRequestBuilder extends AbstractRequestBuilder{
//     protected MultivaluedMapImpl params = new MultivaluedMapImpl();
// 
//     public TagsRequestBuilder(){
// 
//     }
// 
//     public TagsRequestBuilder(long workspaceId, String name){
//         workspace(workspaceId).name(name);
//     }
// 
//     public TagsRequestBuilder workspace(long workspaceId){
//         return (TagsRequestBuilder) setParam("workspace", workspaceId);
//     }
// 
//     public TagsRequestBuilder name(String name){
//         return (TagsRequestBuilder) setParam("name", name);
//     }
// 
//     public TagsRequestBuilder color(String color){
//         return (TagsRequestBuilder) setParam("color", color);
//     }
// 
//     public TagsRequestBuilder notes(String notes){
//         return (TagsRequestBuilder) setParam("notes", notes);
//     }
// }
// 
// Path: src/test/java/net/joelinn/asana/test/BaseTest.java
// public abstract class BaseTest {
//     protected String getApiKey(){
//         return "";  //enter your api key here to run the tests
//     }
// }


import junit.framework.TestCase;
import net.joelinn.asana.Colors;
import net.joelinn.asana.tags.Tag;
import net.joelinn.asana.tags.TagsClient;
import net.joelinn.asana.tags.TagsRequestBuilder;
import net.joelinn.asana.test.BaseTest;
import org.junit.Before;
import org.junit.Test;
package net.joelinn.asana.test.tags;


/**
 * Joe Linn
 * 11/20/13
 */
public class TagsClientTest extends BaseTest{
    protected TagsClient client;

    @Before
    public void setUp(){
        client = new TagsClient(getApiKey());
    }

// Path: src/main/java/net/joelinn/asana/Colors.java
// public class Colors {
//     public static final String DARK_PINK = "dark-pink";
//     public static final String DARK_GREEN = "dark-green";
//     public static final String DARK_BLUE = "dark-blue";
//     public static final String DARK_RED = "dark-red";
//     public static final String DARK_TEAL = "dark-teal";
//     public static final String DARK_BROWN = "dark-brown";
//     public static final String DARK_ORANGE = "dark-orange";
//     public static final String DARK_PURPLE = "dark-purple";
//     public static final String DARK_WARM_GRAY = "dark-warm-gray";
//     public static final String LIGHT_PINK = "light-pink";
//     public static final String LIGHT_GREEN = "light-green";
//     public static final String LIGHT_BLUE = "light-blue";
//     public static final String LIGHT_RED = "light-red";
//     public static final String LIGHT_TEAL = "light-teal";
//     public static final String LIGHT_YELLOW = "light-yellow";
//     public static final String LIGHT_ORANGE = "light-orange";
//     public static final String LIGHT_PURPLE = "light-purple";
//     public static final String LIGHT_WARM_GRAY = "light-warm-gray";
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/Tag.java
// @JsonRootName("data")
// public class Tag {
//     public long id;
// 
//     @JsonProperty("created_at")
//     public String createdAt;
// 
//     public Users followers;
//     public String name;
//     public String color;
//     public String notes;
//     public Workspace workspace;
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/TagsClient.java
// public class TagsClient extends AbstractClient{
//     public TagsClient(String apiKey) {
//         super(apiKey);
//     }
// 
//     /**
//      * @param apiKey            your Asana API key
//      * @param connectionTimeout the connection timeout in MILLISECONDS
//      * @param readTimeout       the read timeout in MILLISECONDS
//      */
//     public TagsClient(String apiKey, int connectionTimeout, int readTimeout) {
//         super(apiKey, connectionTimeout, readTimeout);
//     }
// 
//     public Tag createTag(TagsRequestBuilder builder){
//         return post("", builder.build()).getEntity(Tag.class);
//     }
// 
//     public Tag updateTag(long tagId, TagsRequestBuilder builder){
//         return put(Long.toString(tagId), builder.build()).getEntity(Tag.class);
//     }
// 
//     public Tag getTag(long tagId){
//         return get(Long.toString(tagId)).getEntity(Tag.class);
//     }
// 
//     public void deleteTag(long tagId){
//         delete(Long.toString(tagId));
//     }
// 
//     public Tags getTags(){
//         return get("").getEntity(Tags.class);
//     }
// 
//     @Override
//     protected ClientResponse request(String method, String url, MultivaluedMapImpl queryParams, MultivaluedMapImpl data) {
//         return super.request(method, "tags/" + url, queryParams, data);
//     }
// }
// 
// Path: src/main/java/net/joelinn/asana/tags/TagsRequestBuilder.java
// public class TagsRequestBuilder extends AbstractRequestBuilder{
//     protected MultivaluedMapImpl params = new MultivaluedMapImpl();
// 
//     public TagsRequestBuilder(){
// 
//     }
// 
//     public TagsRequestBuilder(long workspaceId, String name){
//         workspace(workspaceId).name(name);
//     }
// 
//     public TagsRequestBuilder workspace(long workspaceId){
//         return (TagsRequestBuilder) setParam("workspace", workspaceId);
//     }
// 
//     public TagsRequestBuilder name(String name){
//         return (TagsRequestBuilder) setParam("name", name);
//     }
// 
//     public TagsRequestBuilder color(String color){
//         return (TagsRequestBuilder) setParam("color", color);
//     }
// 
//     public TagsRequestBuilder notes(String notes){
//         return (TagsRequestBuilder) setParam("notes", notes);
//     }
// }
// 
// Path: src/test/java/net/joelinn/asana/test/BaseTest.java
// public abstract class BaseTest {
//     protected String getApiKey(){
//         return "";  //enter your api key here to run the tests
//     }
// }


// Path: src/test/java/net/joelinn/asana/test/tags/TagsClientTest.java
import junit.framework.TestCase;
import net.joelinn.asana.Colors;
import net.joelinn.asana.tags.Tag;
import net.joelinn.asana.tags.TagsClient;
import net.joelinn.asana.tags.TagsRequestBuilder;
import net.joelinn.asana.test.BaseTest;
import org.junit.Before;
import org.junit.Test;

package net.joelinn.asana.test.tags;


/**
 * Joe Linn
 * 11/20/13
 */
public class TagsClientTest extends BaseTest{
    protected TagsClient client;

    @Before
    public void setUp(){
        client = new TagsClient(getApiKey());
    }

    @Test