be_json

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2024 License: MIT Imports: 9 Imported by: 0

README

be_json

-- import "github.com/expectto/be/be_json"

Package be_json provides Be matchers for expressive assertions on JSON TODO: more detailed explanation what is considered to be JSON here

Usage

func HaveKeyValue
func HaveKeyValue(key any, args ...any) types.BeMatcher

HaveKeyValue is a facade to gomega.HaveKey & gomega.HaveKeyWithValue

func Matcher
func Matcher(args ...any) types.BeMatcher

Matcher is a JSON matcher. "JSON" here means a []byte with JSON data in it By default several input types are available: string() / []byte(), fmt.Stringer, io.Reader

- custom string-based or []byte-based types are available as well

To make it stricter and to specify which format JSON we should expect, you must pass one of transforms as first argument:

- JsonAsBytes/ JsonAsString / JsonAsStringer  / JsonAsReader (for string-like representation)
- JsonAsObject / JsonAsObjects (for map[string]any representation)
type JsonInputType
type JsonInputType uint32
const (
	JsonAsBytes JsonInputType = 1 << iota
	JsonAsString
	JsonAsStringer
	JsonAsReader
	JsonAsObject
	JsonAsObjects
)

Documentation

Overview

Package be_json provides Be matchers for expressive assertions on JSON TODO: more detailed explanation what is considered to be JSON here

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HaveKeyValue

func HaveKeyValue(key any, args ...any) types.BeMatcher

HaveKeyValue is a facade to gomega.HaveKey & gomega.HaveKeyWithValue

func Matcher

func Matcher(args ...any) types.BeMatcher

Matcher is a JSON matcher. "JSON" here means a []byte with JSON data in it By default several input types are available: string(*) / []byte(*), fmt.Stringer, io.Reader

  • custom string-based or []byte-based types are available as well

To make it stricter and to specify which format JSON we should expect, you must pass one of transforms as first argument:

  • JsonAsBytes/ JsonAsString / JsonAsStringer / JsonAsReader (for string-like representation)
  • JsonAsObject / JsonAsObjects (for map[string]any representation)

Types

type JsonInputType

type JsonInputType uint32
const (
	JsonAsBytes JsonInputType = 1 << iota
	JsonAsString
	JsonAsStringer
	JsonAsReader
	JsonAsObject
	JsonAsObjects
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL