// Path: src/main/java/be/lukin/poeditor/exceptions/ApiException.java
// public class ApiException extends RuntimeException {
//     private String status;
//     private String code;
//     
//     public ApiException() {
//     }
// 
//     public ApiException(String status, String code, String message){
//         super(message);
//         this.status = status;
//         this.code = code;
//         
//     }
//     
//     public ApiException(String message) {
//         super(message);
//     }
// 
//     public ApiException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public ApiException(Throwable cause) {
//         super(cause);
//     }
// 
//     public ApiException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
//         super(message, cause, enableSuppression, writableStackTrace);
//     }
// 
//     public void setStatus(String status) {
//         this.status = status;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     @Override
//     public String toString() {
//         return "ApiException{" +
//                 "status='" + status + '\'' +
//                 ", code='" + code + '\'' +
//                 ", message='" + super.getMessage() + '\'' +
//                 '}';
//     }
// }
// 
// Path: src/main/java/be/lukin/poeditor/exceptions/InvalidTokenException.java
// public class InvalidTokenException extends ApiException {
// }
// 
// Path: src/main/java/be/lukin/poeditor/exceptions/PermissionDeniedException.java
// public class PermissionDeniedException extends ApiException {
// }


import be.lukin.poeditor.exceptions.ApiException;
import be.lukin.poeditor.exceptions.InvalidTokenException;
import be.lukin.poeditor.exceptions.PermissionDeniedException;
import be.lukin.poeditor.models.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import retrofit.RestAdapter;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.logging.Logger;
import static org.junit.Assert.*;
package be.lukin.poeditor;




/**
 */
public class TestClient {

    private POEditorClient client;
    private String projectId;

    private static final Logger logger = Logger.getLogger(TestClient.class.getName());

    @Before
    public void setUp() throws IOException {
        String apiKey = System.getProperty("tests.poeditor.apiKey");
        projectId = System.getProperty("tests.poeditor.testProjectId");

        client = new POEditorClient(apiKey, POEditorClient.HOST, RestAdapter.LogLevel.FULL);
        logger.info("Client: " + client);

        //Delete finish language
        try {
            client.deleteProjectLanguage(projectId, "fi");
        }catch(ApiException ae){
            //pass
        }
    }
    
    @After
    public void tearDown(){
        try {
            client.deleteProjectLanguage(projectId, "fi");
// Path: src/main/java/be/lukin/poeditor/exceptions/ApiException.java
// public class ApiException extends RuntimeException {
//     private String status;
//     private String code;
//     
//     public ApiException() {
//     }
// 
//     public ApiException(String status, String code, String message){
//         super(message);
//         this.status = status;
//         this.code = code;
//         
//     }
//     
//     public ApiException(String message) {
//         super(message);
//     }
// 
//     public ApiException(String message, Throwable cause) {
//         super(message, cause);
//     }
// 
//     public ApiException(Throwable cause) {
//         super(cause);
//     }
// 
//     public ApiException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
//         super(message, cause, enableSuppression, writableStackTrace);
//     }
// 
//     public void setStatus(String status) {
//         this.status = status;
//     }
// 
//     public void setCode(String code) {
//         this.code = code;
//     }
// 
//     @Override
//     public String toString() {
//         return "ApiException{" +
//                 "status='" + status + '\'' +
//                 ", code='" + code + '\'' +
//                 ", message='" + super.getMessage() + '\'' +
//                 '}';
//     }
// }
// 
// Path: src/main/java/be/lukin/poeditor/exceptions/InvalidTokenException.java
// public class InvalidTokenException extends ApiException {
// }
// 
// Path: src/main/java/be/lukin/poeditor/exceptions/PermissionDeniedException.java
// public class PermissionDeniedException extends ApiException {
// }


// Path: src/test/java/be/lukin/poeditor/TestClient.java
import be.lukin.poeditor.exceptions.ApiException;
import be.lukin.poeditor.exceptions.InvalidTokenException;
import be.lukin.poeditor.exceptions.PermissionDeniedException;
import be.lukin.poeditor.models.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import retrofit.RestAdapter;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.logging.Logger;
import static org.junit.Assert.*;

package be.lukin.poeditor;




/**
 */
public class TestClient {

    private POEditorClient client;
    private String projectId;

    private static final Logger logger = Logger.getLogger(TestClient.class.getName());

    @Before
    public void setUp() throws IOException {
        String apiKey = System.getProperty("tests.poeditor.apiKey");
        projectId = System.getProperty("tests.poeditor.testProjectId");

        client = new POEditorClient(apiKey, POEditorClient.HOST, RestAdapter.LogLevel.FULL);
        logger.info("Client: " + client);

        //Delete finish language
        try {
            client.deleteProjectLanguage(projectId, "fi");
        }catch(ApiException ae){
            //pass
        }
    }
    
    @After
    public void tearDown(){
        try {
            client.deleteProjectLanguage(projectId, "fi");
        } catch(ApiException ae){