Search in sources :

Example 6 with HttpBindingConfig

use of org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig in project openhab1-addons by openhab.

the class HttpGenericBindingProviderTest method testParseBindingConfigWithXPATH.

@Test
public void testParseBindingConfigWithXPATH() throws BindingConfigParseException {
    String bindingConfig = "<[http://www.wetter-vista.de:7970/api/xml.php?q=Berlin:60000:XPATH(/wettervorhersage/tag[1]/tmax)]";
    Item testItem = new DecimalTestItem();
    // method under test
    HttpBindingConfig config = provider.parseBindingConfig(testItem, bindingConfig);
    // asserts
    Assert.assertEquals(true, config.containsKey(HttpGenericBindingProvider.IN_BINDING_KEY));
    Assert.assertEquals(null, config.get(HttpGenericBindingProvider.IN_BINDING_KEY).httpMethod);
    Assert.assertEquals("http://www.wetter-vista.de:7970/api/xml.php?q=Berlin", config.get(HttpGenericBindingProvider.IN_BINDING_KEY).url);
    Assert.assertEquals(60000, config.get(HttpGenericBindingProvider.IN_BINDING_KEY).refreshInterval);
    Assert.assertEquals("XPATH(/wettervorhersage/tag[1]/tmax)", config.get(HttpGenericBindingProvider.IN_BINDING_KEY).transformation);
}
Also used : Item(org.openhab.core.items.Item) GenericItem(org.openhab.core.items.GenericItem) HttpBindingConfig(org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig) Test(org.junit.Test)

Example 7 with HttpBindingConfig

use of org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig in project openhab1-addons by openhab.

the class HttpGenericBindingProviderTest method testParseBindingConfig.

@Test
public void testParseBindingConfig() throws BindingConfigParseException {
    String bindingConfig = ">[ON:POST:http://www.domain.org:1234/home/lights/23871/?status=on&type=\"text\"] >[OFF:GET:http://www.domain.org:1234/home/lights/23871/?status=off] <[http://www.google.com:1234/ig/api?weather=Krefeld+Germany&hl=de:60000:REGEX(.*?<current_conditions>.*?<temp_c data=\\\"(.*?)\\\".*)] >[CHANGED:POST:http://www.domain.org:1234/home/lights/23871/?value=%2$s] >[*:POST:http://www.domain.org:1234/home/lights?value=%2$s]";
    // method under test
    HttpBindingConfig config = provider.parseBindingConfig(testItem, bindingConfig);
    // asserts
    Assert.assertEquals(true, config.containsKey(HttpGenericBindingProvider.IN_BINDING_KEY));
    Assert.assertEquals(null, config.get(HttpGenericBindingProvider.IN_BINDING_KEY).httpMethod);
    Assert.assertEquals("http://www.google.com:1234/ig/api?weather=Krefeld+Germany&hl=de", config.get(HttpGenericBindingProvider.IN_BINDING_KEY).url);
    Assert.assertEquals(60000, config.get(HttpGenericBindingProvider.IN_BINDING_KEY).refreshInterval);
    Assert.assertEquals("REGEX(.*?<current_conditions>.*?<temp_c data=\"(.*?)\".*)", config.get(HttpGenericBindingProvider.IN_BINDING_KEY).transformation);
    // asserts
    Assert.assertEquals(true, config.containsKey(StringType.valueOf("ON")));
    Assert.assertEquals("POST", config.get(StringType.valueOf("ON")).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights/23871/?status=on&type=\"text\"", config.get(StringType.valueOf("ON")).url);
    Assert.assertEquals(true, config.containsKey(StringType.valueOf("OFF")));
    Assert.assertEquals("GET", config.get(StringType.valueOf("OFF")).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights/23871/?status=off", config.get(StringType.valueOf("OFF")).url);
    Assert.assertEquals(true, config.containsKey(HttpGenericBindingProvider.CHANGED_COMMAND_KEY));
    Assert.assertEquals("POST", config.get(HttpGenericBindingProvider.CHANGED_COMMAND_KEY).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights/23871/?value=%2$s", config.get(HttpGenericBindingProvider.CHANGED_COMMAND_KEY).url);
    Assert.assertEquals(true, config.containsKey(HttpGenericBindingProvider.WILDCARD_COMMAND_KEY));
    Assert.assertEquals("POST", config.get(HttpGenericBindingProvider.WILDCARD_COMMAND_KEY).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights?value=%2$s", config.get(HttpGenericBindingProvider.WILDCARD_COMMAND_KEY).url);
}
Also used : HttpBindingConfig(org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig) Test(org.junit.Test)

Example 8 with HttpBindingConfig

use of org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig in project openhab1-addons by openhab.

the class HttpGenericBindingProviderTest method testParseBindingConfigWithNumbers.

@Test
public void testParseBindingConfigWithNumbers() throws BindingConfigParseException {
    String bindingConfig = ">[1:POST:http://www.domain.org:1234/home/lights/23871/?status=on&type=\"text\"] >[0:GET:http://www.domain.org:1234/home/lights/23871/?status=off]";
    Item testItem = new DecimalTestItem();
    // method under test
    HttpBindingConfig config = provider.parseBindingConfig(testItem, bindingConfig);
    // asserts
    Assert.assertEquals(true, config.containsKey(DecimalType.valueOf("1")));
    Assert.assertEquals("POST", config.get(DecimalType.valueOf("1")).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights/23871/?status=on&type=\"text\"", config.get(DecimalType.valueOf("1")).url);
    Assert.assertEquals(true, config.containsKey(DecimalType.valueOf("0")));
    Assert.assertEquals("GET", config.get(DecimalType.valueOf("0")).httpMethod);
    Assert.assertEquals("http://www.domain.org:1234/home/lights/23871/?status=off", config.get(DecimalType.valueOf("0")).url);
}
Also used : Item(org.openhab.core.items.Item) GenericItem(org.openhab.core.items.GenericItem) HttpBindingConfig(org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)8 HttpBindingConfig (org.openhab.binding.http.internal.HttpGenericBindingProvider.HttpBindingConfig)8 GenericItem (org.openhab.core.items.GenericItem)3 Item (org.openhab.core.items.Item)3