func()

in ops/ops.go [103:143]


func (o Operative) ContainsJsonValue(assertion JsonAssertionFunc) *testerror.Error {
	if err := isErrorOrNotExist(o); err != nil {
		return err
	}

	if o.Actual == nil || o.Actual == "" {
		return testerror.Newf(
			"%s: is empty",
			o.Reference,
		)
	}

	actual, actualok := o.Actual.(string)
	if !actualok {
		return testerror.Newf(
			"%s: value is not a string",
			o.Reference,
		)
	}

	j := json.RawMessage(actual)
	assertok, err := assertion(j)
	if err != nil {
		return testerror.Newf(
			"%s: asserting value for %q: %+v",
			o.Reference,
			o.Actual,
			err,
		)
	}

	if assertok == nil || !*assertok {
		return testerror.Newf(
			"%s: assertion failed for %q",
			o.Reference,
			o.Actual,
		)
	}

	return nil
}