zabbixApi4j-Web scenario

Web scenario

httptest.create: 創(chuàng)建新的Web場(chǎng)景
httptest.delete: 刪除web場(chǎng)景
httptest.get: 檢索web場(chǎng)景
httptest.isreadable: 檢查web場(chǎng)景是否可讀
httptest.iswritable: 檢查web場(chǎng)景是否可寫
httptest.update: 更新web場(chǎng)景

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市籽孙,隨后出現(xiàn)的幾起案子觅闽,更是在濱河造成了極大的恐慌在验,老刑警劉巖些举,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)尔邓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锉矢,“玉大人梯嗽,你說(shuō)我怎么就攤上這事」了穑” “怎么了灯节?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我炎疆,道長(zhǎng)卡骂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任磷雇,我火速辦了婚禮偿警,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唯笙。我一直安慰自己螟蒸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布崩掘。 她就那樣靜靜地躺著七嫌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苞慢。 梳的紋絲不亂的頭發(fā)上诵原,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音挽放,去河邊找鬼绍赛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辑畦,可吹牛的內(nèi)容都是我干的吗蚌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼纯出,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚯妇!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起暂筝,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤箩言,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后焕襟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陨收,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鸵赖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了务漩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卫漫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肾砂,到底是詐尸還是另有隱情列赎,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站包吝,受9級(jí)特大地震影響饼煞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诗越,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一砖瞧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚷狞,春花似錦块促、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至薇搁,卻和暖如春斋扰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啃洋。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工传货, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宏娄。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓问裕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親绝编。 傳聞我的和親對(duì)象是個(gè)殘疾皇子僻澎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)十饥,斷路器窟勃,智...
    卡卡羅2017閱讀 134,601評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法逗堵,內(nèi)部類的語(yǔ)法秉氧,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法蜒秤,線程的語(yǔ)...
    子非魚_t_閱讀 31,587評(píng)論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,795評(píng)論 0 11
  • 前幾天吳導(dǎo)發(fā)給我一篇文章—— 《寫作是這個(gè)時(shí)代最好的自我投資》汁咏,文章說(shuō),如果一個(gè)人30歲以后都還只是工資收入作媚,那這...
    LinglingZhu閱讀 1,014評(píng)論 3 16
  • 我能省則省的你該花就花了吧纸泡。兩種消費(fèi)觀念促成了不一樣的生活質(zhì)量漂问。于情感的消耗,同樣是觀念磨人。 ...
    妡然閱讀 366評(píng)論 1 4