Skip to content

How to check value on a Postgres JsonB field? #101

Open
@jfisbein

Description

@jfisbein

I trying to check the values inserted on a table where a field is of the type jsonb.

When I run something like this:

assertThat(eventsTable)
      .row(0)
      .value("data").isEqualTo("{\"key\": \"value\"}");

I get the following error:

[Value at index 0 (column name : DATA) of Row at index 0 of events table] 
Expecting:
  <{"key": "value"}>
to be of type
  <[TEXT, NUMBER, DATE, TIME, DATE_TIME, UUID]>
but was of type
  <NOT_IDENTIFIED> (org.postgresql.util.PGobject)

Here is the table content:

[events table]
|-----------|---------|-------------------------------------------------------|
|           |         |                                                       |
|           | PRIMARY | DATA                                                  |
|           | KEY     | (NOT_IDENTIFIED : class org.postgresql.util.PGobject) |
|           |         | Index : 0                                             |
|-----------|---------|-------------------------------------------------------|
| Index : 0 |         | {"key": "value"}                                      |
|-----------|---------|-------------------------------------------------------|

Using assertj-db 2.0.0

Is there any way I can check the content of a PostgreSQL jsonb column?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions