// Path: src/main/java/org/nudge/elasticstack/context/nudge/api/bean/Filter.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Filter {
// 
//     public enum Status {
// 		ACTIVE, INACTIVE, DELETED;
// 
//         @JsonCreator
//         public static Status fromString(String key) {
//             for(Status status : Status.values()) {
//                 if(status.name().equalsIgnoreCase(key)) {
//                     return status;
//                 }
//             }
//             return null;
//         }
//     }
// 
//     private UUID id;
//     private String name;
//     @JsonProperty(value = "target_code")
//     private String targetCode;
//     private Status status;
// 
//     private boolean exclusion;
// 
//     private List<Scope> scopes;
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public void setId(UUID id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getTargetCode() {
//         return targetCode;
//     }
// 
//     public void setTargetCode(String targetCode) {
//         this.targetCode = targetCode;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public boolean isExclusion() {
//         return exclusion;
//     }
// 
//     public void setExclusion(boolean exclusion) {
//         this.exclusion = exclusion;
//     }
// 
//     public List<Scope> getScopes() {
//         return scopes;
//     }
// 
//     public void setScopes(List<Scope> scopes) {
//         this.scopes = scopes;
//     }
// 
//     @Override
//     public String toString() {
//         return "Filter{" +
//                 "id=" + id +
//                 ", name='" + name + '\'' +
//                 ", targetCode='" + targetCode + '\'' +
//                 ", status=" + status +
//                 ", exclusion=" + exclusion +
//                 ", scopes=" + scopes +
//                 '}';
//     }
// }


import com.nudge.apm.buffer.probe.RawDataProtocol;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.nudge.elasticstack.context.nudge.api.bean.Filter;
import org.nudge.elasticstack.context.nudge.dto.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
package org.nudge.elasticstack.context.nudge.rawdata.rawdata;



/**
 * Test class for {@link DTOBuilder}
 */
public class DTOBuilderTest {

	private RawDataProtocol.RawData rawData;

	/**
	 * Prepare the test by reading a sample example of a Nudge APM rawdata.
	 */
	@Before
	public void init() throws IOException {
		this.rawData = readRawdata();
	}

	public RawDataProtocol.RawData readRawdata() throws IOException {
		try {
			return RawDataProtocol.RawData.parseFrom(this.getClass().getClassLoader()
					.getResourceAsStream("rawdata/collecte_2016-09-29_10-54-01-620_140.dat"));
		} catch (IOException e) {
			throw new IOException("Impossible to read the sample rawdata", e);

		}
	}

	@Test
	public void buildTransactions() throws Exception {
// Path: src/main/java/org/nudge/elasticstack/context/nudge/api/bean/Filter.java
// @JsonIgnoreProperties(ignoreUnknown = true)
// public class Filter {
// 
//     public enum Status {
// 		ACTIVE, INACTIVE, DELETED;
// 
//         @JsonCreator
//         public static Status fromString(String key) {
//             for(Status status : Status.values()) {
//                 if(status.name().equalsIgnoreCase(key)) {
//                     return status;
//                 }
//             }
//             return null;
//         }
//     }
// 
//     private UUID id;
//     private String name;
//     @JsonProperty(value = "target_code")
//     private String targetCode;
//     private Status status;
// 
//     private boolean exclusion;
// 
//     private List<Scope> scopes;
// 
//     public UUID getId() {
//         return id;
//     }
// 
//     public void setId(UUID id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getTargetCode() {
//         return targetCode;
//     }
// 
//     public void setTargetCode(String targetCode) {
//         this.targetCode = targetCode;
//     }
// 
//     public Status getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Status status) {
//         this.status = status;
//     }
// 
//     public boolean isExclusion() {
//         return exclusion;
//     }
// 
//     public void setExclusion(boolean exclusion) {
//         this.exclusion = exclusion;
//     }
// 
//     public List<Scope> getScopes() {
//         return scopes;
//     }
// 
//     public void setScopes(List<Scope> scopes) {
//         this.scopes = scopes;
//     }
// 
//     @Override
//     public String toString() {
//         return "Filter{" +
//                 "id=" + id +
//                 ", name='" + name + '\'' +
//                 ", targetCode='" + targetCode + '\'' +
//                 ", status=" + status +
//                 ", exclusion=" + exclusion +
//                 ", scopes=" + scopes +
//                 '}';
//     }
// }


// Path: src/test/java/org/nudge/elasticstack/context/nudge/rawdata/rawdata/DTOBuilderTest.java
import com.nudge.apm.buffer.probe.RawDataProtocol;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.nudge.elasticstack.context.nudge.api.bean.Filter;
import org.nudge.elasticstack.context.nudge.dto.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

package org.nudge.elasticstack.context.nudge.rawdata.rawdata;



/**
 * Test class for {@link DTOBuilder}
 */
public class DTOBuilderTest {

	private RawDataProtocol.RawData rawData;

	/**
	 * Prepare the test by reading a sample example of a Nudge APM rawdata.
	 */
	@Before
	public void init() throws IOException {
		this.rawData = readRawdata();
	}

	public RawDataProtocol.RawData readRawdata() throws IOException {
		try {
			return RawDataProtocol.RawData.parseFrom(this.getClass().getClassLoader()
					.getResourceAsStream("rawdata/collecte_2016-09-29_10-54-01-620_140.dat"));
		} catch (IOException e) {
			throw new IOException("Impossible to read the sample rawdata", e);

		}
	}

	@Test
	public void buildTransactions() throws Exception {
		List<Filter> filters = new ArrayList<>();