// Copyright 2014-2015 Boundary, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.boundary.sdk.event.service.url;
import com.boundary.camel.component.url.UrlResult;
import com.boundary.sdk.event.service.ServiceModel;
/**
* Service Model for URL Service Tests
*
*/
public class UrlServiceModel extends ServiceModel {
private String responseBody;
private boolean responseIgnoreBody;
private int responseCode;
private int responseTime;
private boolean responseTimeMet;
private boolean responseBodyMatched;
private boolean responseCodeMatched;
public boolean isResponseTimeMet() {
return responseTimeMet;
}
public void setResponseTimeMet(boolean responseTimeMet) {
this.responseTimeMet = responseTimeMet;
}
public boolean isResponseBodyMatched() {
return responseBodyMatched;
}
public void setResponseBodyMatched(boolean responseBodyMatched) {
this.responseBodyMatched = responseBodyMatched;
}
public boolean isResponseCodeMatched() {
return responseCodeMatched;
}
public void setResponseCodeMatched(boolean responseCodeMatched) {
this.responseCodeMatched = responseCodeMatched;
}
public int getResponseCode() {
return responseCode;
}
public void setResponseCode(int responseCode) {
this.responseCode = responseCode;
}
public int getResponseTime() {
return responseTime;
}
public void setResponseTime(int responseTime) {
this.responseTime = responseTime;
}
public UrlServiceModel() {
responseBody = "";
}
public String getResponseBody() {
return responseBody;
}
public void setResponseBody(String responseBody) {
this.responseBody = responseBody;
}
public boolean getResponseIgnoreBody() {
return responseIgnoreBody;
}
public void setResponseIgnoreBody(boolean responseIgnoreBody) {
this.responseIgnoreBody = responseIgnoreBody;
}
public boolean isHealthly(UrlResult result)
{
setResponseTimeMet(result.getResponseTime() <= getResponseTime());
setResponseCodeMatched(result.getResponseCode() == getResponseCode());
setResponseBodyMatched(result.getResponseBody() == getResponseBody()
|| getResponseIgnoreBody() == false);
return isResponseTimeMet() && isResponseCodeMatched() && isResponseBodyMatched();
}
@Override
public String toString() {
return "UrlServiceModel [responseBody=" + responseBody
+ ", responseIgnoreBody=" + responseIgnoreBody
+ ", responseCode=" + responseCode + ", responseTime="
+ responseTime + ", responseTimeMet=" + responseTimeMet
+ ", responseBodyMatched=" + responseBodyMatched
+ ", responseCodeMatched=" + responseCodeMatched + "]";
}
}