美文网首页
zabbixApi4j-Web scenario

zabbixApi4j-Web scenario

作者: 差不多先生_tl | 来源:发表于2018-01-11 16:31 被阅读6次

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);
        }
    }
}

相关文章

  • zabbixApi4j-Web scenario

    Web scenario httptest.create: 创建新的Web场景httptest.delete: 删...

  • Android Activity Scenario总结

    Android Activity Scenario总结 Activity Scenario参考文档[https:/...

  • Love scenario

    警告:不要因为这个年纪的狭隘眼界见到一些卑劣不堪的人格就自命清高 不要因为如此而悲天悯人 愤世嫉俗 多的是你不知道...

  • jQuery Scenario

    Check if a checkbox is checked. often used on agreement d...

  • Scenario,以柔克刚

    建筑课堂的重构设计终于到了收尾,整个过程历时8个月,从用研到最终的细节设计delivery,可谓是目标导向设计过程...

  • Scenario - 健身

    One of the purposes I am in Singapore is to keep fitness....

  • Scenario - 衣

    Scenario 1: 某天,穿着新买的高跟鞋去上班,刚到办公室,就遇到一个来自Romania的女生,对话就这样开...

  • Scenario - 行

    HikingLast Saturday (2019-07-20), we went to MacRitchie R...

  • Scenario - 食

    Food,include breakfast, lunch, brunch, dinner, different ...

  • Scenario - 住

    Village Residence Clark QuayIt's an awesome apartment wit...

网友评论

      本文标题:zabbixApi4j-Web scenario

      本文链接:https://www.haomeiwen.com/subject/hqktoxtx.html