
io.fabric8.jolokia.assertions.JSONObjectAssert Maven / Gradle / Ivy
/**
* Copyright 2005-2016 Red Hat, Inc.
*
* Red Hat licenses this file to you 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 io.fabric8.jolokia.assertions;
import org.assertj.core.api.BigDecimalAssert;
import org.assertj.core.api.BooleanAssert;
import org.assertj.core.api.ByteAssert;
import org.assertj.core.api.CharacterAssert;
import org.assertj.core.api.DateAssert;
import org.assertj.core.api.DoubleAssert;
import org.assertj.core.api.FloatAssert;
import org.assertj.core.api.IntegerAssert;
import org.assertj.core.api.ListAssert;
import org.assertj.core.api.LongAssert;
import org.assertj.core.api.MapAssert;
import org.assertj.core.api.ObjectAssert;
import org.assertj.core.api.ShortAssert;
import org.assertj.core.api.StringAssert;
import org.json.simple.JSONObject;
import static org.assertj.core.api.Assertions.assertThat;
/**
* For making assertions on the given {@link JSONObject} value
*/
public class JSONObjectAssert extends ObjectAssert {
public JSONObjectAssert(JSONObject actual) {
super(actual);
}
/**
* Returns the actual underlying value
*/
public JSONObject get() {
return actual;
}
/**
* Returns an assertion on the size of the collection
*/
public IntegerAssert assertSize() {
return (IntegerAssert) assertThat(get().size()).as("size");
}
/**
* Asserts that there is a value at the given key returning the assertion object so that further assertions can be chained
*/
public ObjectAssert assertObject(String key) {
Object value = value(key);
return (ObjectAssert) assertThat(value);
}
/**
* Asserts that there is a {@link java.math.BigDecimal} value for the given key returning the
* {@link BigDecimalAssert} object so that further assertions can be chained
*/
public BigDecimalAssert assertBigDecimal(String key) {
Object value = value(key);
return Assertions.assertBigDecimal(value);
}
/**
* Asserts that there is a {@link Boolean} value for the given key returning the
* {@link BooleanAssert} object so that further assertions can be chained
*/
public BooleanAssert assertBoolean(String key) {
Object value = value(key);
return Assertions.assertBoolean(value);
}
/**
* Asserts that there is a {@link Byte} value for the given key returning the
* {@link ByteAssert} object so that further assertions can be chained
*/
public ByteAssert assertByte(String key) {
Object value = value(key);
return Assertions.assertByte(value);
}
/**
* Asserts that there is a {@link Character} value for the given key returning the
* {@link CharacterAssert} object so that further assertions can be chained
*/
public CharacterAssert assertCharacter(String key) {
Object value = value(key);
return Assertions.assertCharacter(value);
}
/**
* Asserts that there is a {@link java.util.Date} value for the given key returning the
* {@link DateAssert} object so that further assertions can be chained
*/
public DateAssert assertDate(String key) {
Object value = value(key);
return Assertions.assertDate(value);
}
/**
* Asserts that there is a {@link Double} value for the given key returning the
* {@link DoubleAssert} object so that further assertions can be chained
*/
public DoubleAssert assertDouble(String key) {
Object value = value(key);
return Assertions.assertDouble(value);
}
/**
* Asserts that there is a {@link Float} value for the given key returning the
* {@link FloatAssert} object so that further assertions can be chained
*/
public FloatAssert assertFloat(String key) {
Object value = value(key);
return Assertions.assertFloat(value);
}
/**
* Asserts that there is a {@link Integer} value for the given key returning the
* {@link IntegerAssert} object so that further assertions can be chained
*/
public IntegerAssert assertInteger(String key) {
Object value = value(key);
return Assertions.assertInteger(value);
}
/**
* Asserts that there is a {@link org.json.simple.JSONObject} value for the given key returning the
* {@link io.fabric8.jolokia.assertions.JSONObjectAssert} object so that further assertions can be chained
*/
public JSONArrayAssert assertJSONArray(String key) {
Object value = value(key);
return Assertions.assertJSONArray(value);
}
/**
* Asserts that there is a {@link org.json.simple.JSONObject} value for the given key returning the
* {@link io.fabric8.jolokia.assertions.JSONObjectAssert} object so that further assertions can be chained
*/
public JSONObjectAssert assertJSONObject(String key) {
Object value = value(key);
return Assertions.assertJSONObject(value);
}
/**
* Asserts that there is a {@link java.util.List} value for the given key returning the
* {@link ListAssert} object so that further assertions can be chained
*/
public ListAssert assertList(String key) {
Object value = value(key);
return Assertions.assertList(value);
}
/**
* Asserts that there is a {@link Long} value for the given key returning the
* {@link LongAssert} object so that further assertions can be chained
*/
public LongAssert assertLong(String key) {
Object value = value(key);
return Assertions.assertLong(value);
}
/**
* Asserts that there is a {@link java.util.Map} value for the given key returning the
* {@link MapAssert} object so that further assertions can be chained
*/
public MapAssert assertMap(String key) {
Object value = value(key);
return Assertions.assertMap(value);
}
/**
* Asserts that there is a {@link Short} value for the given key returning the
* {@link ShortAssert} object so that further assertions can be chained
*/
public ShortAssert assertShort(String key) {
Object value = value(key);
return Assertions.assertShort(value);
}
/**
* Asserts that there is a {@link String} value for the given key returning the
* {@link StringAssert} object so that further assertions can be chained
*/
public StringAssert assertString(String key) {
Object value = value(key);
return Assertions.assertString(value);
}
/**
* Returns the value for the given key
*/
public Object value(String key) {
JSONObject value = get();
assertThat(value.size()).isGreaterThan(0);
return value.get(key);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy