zabbixApi4j-Web scenario

Web scenario

httptest.create: 创建新的Web场景
httptest.delete: 删除web场景
httptest.get: 检索web场景
httptest.isreadable: 检查web场景是否可读
httptest.iswritable: 检查web场景是否可写
httptest.update: 更新web场景

image.png


DummyWebScenario
package cn.com.yeexun.testzabbix.zabbix4j.example.webscenario;

import java.util.Date;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestDummyMethodBase;

import com.zabbix4j.ZabbixApi;
import com.zabbix4j.ZabbixApiException;
import com.zabbix4j.webscenario.HttpTestCreateRequest;
import com.zabbix4j.webscenario.HttpTestCreateResponse;
import com.zabbix4j.webscenario.HttpTestDeleteRequest;
import com.zabbix4j.webscenario.HttpTestDeleteResponse;
import com.zabbix4j.webscenario.ScenarioStepObject;

/**
 * @author Suguru Yajima
 */
public class DummyWebScenario extends ZabbixApiTestDummyMethodBase {
    public DummyWebScenario(ZabbixApi zabbixApi) {
        super(zabbixApi);
    }

    public Integer create() throws ZabbixApiException {
        final Integer hostId = 10084;

        HttpTestCreateRequest request = new HttpTestCreateRequest();
        HttpTestCreateRequest.Params params = request.getParams();

        params.setName("httptest.create." + new Date().getTime());
        params.setHostid(hostId);

        ScenarioStepObject obj = new ScenarioStepObject();
        obj.setName("Homepage");
        obj.setUrl("http://mycompany.com");
        obj.setStatus_codes("200");
        obj.setNo(1);
        params.addScenarioStepObject(obj);

        HttpTestCreateResponse response = zabbixApi.webscenario().create(request);

        Integer actualId = response.getResult().getHttptestids().get(0);

        return actualId;
    }

    public void delete(Integer targetId) throws ZabbixApiException {

        HttpTestDeleteRequest request = new HttpTestDeleteRequest();
        request.addHttpTestId(targetId);

        HttpTestDeleteResponse response = zabbixApi.webscenario().delete(request);
    }
}


HttpTestUpdateTest
package cn.com.yeexun.testzabbix.zabbix4j.example.webscenario;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;

import org.hamcrest.core.Is;
import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.webscenario.HttpTestUpdateRequest;
import com.zabbix4j.webscenario.HttpTestUpdateRespose;
import com.zabbix4j.webscenario.WebScenarioObject;

/**
 * @author Suguru Yajima
 */
public class HttpTestUpdateTest extends ZabbixApiTestBase {
    public HttpTestUpdateTest() {
        super();
    }

    @Test
    public void testUpdate() throws Exception {
        DummyWebScenario dummyWebScenario = new DummyWebScenario(zabbixApi);
        Integer targetId = dummyWebScenario.create();

        try {
            HttpTestUpdateRequest request = new HttpTestUpdateRequest();
            HttpTestUpdateRequest.Params params = request.getParams();
            params.setHttptestid(targetId);
            params.setStatus(WebScenarioObject.STATUS.DISABLED.value);

            HttpTestUpdateRespose respose = zabbixApi.webscenario().update(request);
            assertNotNull(respose);

            Integer actualId = respose.getResult().getHttptestids().get(0);
            assertThat(actualId, Is.is(targetId));
        } finally {
            dummyWebScenario.delete(targetId);
        }

    }
}


HttpTestCreateTest
package cn.com.yeexun.testzabbix.zabbix4j.example.webscenario;

import static org.junit.Assert.assertNotNull;

import java.util.Date;

import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.webscenario.HttpTestCreateRequest;
import com.zabbix4j.webscenario.HttpTestCreateResponse;
import com.zabbix4j.webscenario.ScenarioStepObject;

/**
 * @author Suguru Yajima
 */
public class HttpTestCreateTest extends ZabbixApiTestBase{

    public HttpTestCreateTest() {
        super();
    }

    @Test
    public void testCreate() throws Exception {
        final Integer hostId = 10084;

        HttpTestCreateRequest request = new HttpTestCreateRequest();
        HttpTestCreateRequest.Params params = request.getParams();

        params.setName("httptest.create." + new Date().getTime());
        params.setHostid(hostId);

        ScenarioStepObject obj = new ScenarioStepObject();
        obj.setName("Homepage");
        obj.setUrl("http://mycompany.com");
        obj.setStatus_codes("200");
        obj.setNo(1);
        params.addScenarioStepObject(obj);

        HttpTestCreateResponse response = zabbixApi.webscenario().create(request);
        assertNotNull(response);

        Integer actualId = response.getResult().getHttptestids().get(0);
        assertNotNull(actualId);
    }
}


HttpTestDeleteTest
package cn.com.yeexun.testzabbix.zabbix4j.example.webscenario;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;

import org.hamcrest.core.Is;
import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.webscenario.HttpTestDeleteRequest;
import com.zabbix4j.webscenario.HttpTestDeleteResponse;

/**
 * @author Suguru Yajima
 */
public class HttpTestDeleteTest extends ZabbixApiTestBase {
    public HttpTestDeleteTest() {
        super();
    }

    @Test
    public void testDelete() throws Exception {
        DummyWebScenario dummyWebScenario = new DummyWebScenario(zabbixApi);
        Integer targetId = dummyWebScenario.create();

        HttpTestDeleteRequest request = new HttpTestDeleteRequest();
        request.addHttpTestId(targetId);

        HttpTestDeleteResponse response = zabbixApi.webscenario().delete(request);
        assertNotNull(response);

        Integer actualId = response.getResult().getHttptestids().get(0);
        assertThat(actualId, Is.is(targetId));
    }
}


HttpTestGetTest
package cn.com.yeexun.testzabbix.zabbix4j.example.webscenario;

import static org.junit.Assert.assertNotNull;

import org.junit.Test;

import cn.com.yeexun.testzabbix.zabbix4j.common.ZabbixApiTestBase;

import com.zabbix4j.ZabbixApiParamter;
import com.zabbix4j.webscenario.HttpTestGetRequest;
import com.zabbix4j.webscenario.HttpTestGetResponse;

/**
 * @author Suguru Yajima
 */
public class HttpTestGetTest extends ZabbixApiTestBase {

    public HttpTestGetTest() {
        super();
    }

    @Test
    public void testGet() throws Exception {
        DummyWebScenario dummyWebScenario = new DummyWebScenario(zabbixApi);
        Integer targetId = dummyWebScenario.create();

        try {
            HttpTestGetRequest request = new HttpTestGetRequest();
            HttpTestGetRequest.Params params = request.getParams();

            params.setSelectHosts(ZabbixApiParamter.QUERY.extend.name());
            params.setSelectSteps(ZabbixApiParamter.QUERY.extend.name());
            params.setExpandName(true);
            params.setExpandStepName(true);

            HttpTestGetResponse response = zabbixApi.webscenario().get(request);
            assertNotNull(response);

            logger.debug(getGson().toJson(response));
        } finally {
            dummyWebScenario.delete(targetId);
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,846评论 0 11
  • 前几天吴导发给我一篇文章—— 《写作是这个时代最好的自我投资》,文章说,如果一个人30岁以后都还只是工资收入,那这...
    LinglingZhu阅读 1,056评论 3 16
  • 我能省则省的你该花就花了吧。两种消费观念促成了不一样的生活质量。于情感的消耗,同样是观念磨人。 ...
    妡然阅读 401评论 1 4