Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2023.2

In this section:

Table of Contents
maxLevel1

Introduction

The MongoDB Tool sends a query to a MongoDB database and returns the JSON-format results from that query. JSON tools such as JSON Data Banks and JSON Assertors can be added as "outputs" to MongoDB tools in order to display and/or validate the query results.

In this section:

Table of Contents
maxLevel1

Requirements

  • The following MongoDB versions are supported:
    • 2.6
    • 3.0
    • 3.2
    • 3.4
    • 3.6
    • 4.0
    • 4.2
    • 4.4
  • This tool requires SOAtest/Virtualize 2020.1 or later.

...

The tool can be installed from the UI or the command line.

UI Installation

  1. Choose Parasoft> Preferences.
  2. Choose System Properties and click Add JARs.
  3. Browse to
  4. Go to Parasoft > Preferences and click System Properties.
  5. Click Add JARs and select the com.parasoft.soavirt.tool.mongodbtool.jar filejar file and click Open.
  6. Click Apply.
  7. Restart Apply the changes and restart SOAtest/Virtualize.

Command Line Installation

Add the com.parasoft.soavirt.tool.mongodbtool.jar file jar file to the system.properties.classpath property in your settings properties file. For example:

system.properties.classpath=<PATH_TO_JAR><path to jar>/com.parasoft.soavirt.tool.mongodbtool.jar

...

Scroll Table Layout
widths30%,70%

Hosts

Comma

-

separated list specifying the host(s) and port(s) of the MongoDB server(s) to query. If empty, the default value will be used. Default is localhost:27017.

Example:

host1:27017,host2:27018,host3:27019

Use SSLSpecifies whether SSL should be used when connecting to the MongoDB server. If empty, the default value will be used. Default is false.
Read Preference

Specifies the preference in which the tool reads operations to the members of a replica set. See the MongoDB documentation for additional information about read preference options. Default is primary.

Authentication Settings

Scroll Table Layout
widths30%,70%

Authentication Mechanism
Specifies

Specify the authentication mechanism used to connect to the MongoDB server. The following values are acceptable:

none: Use this value if no authentication mechanism is required.

server-defined: Use this setting to use the default authentication method configured on the mongoDB server (SCRAM-SHA-1 or MONGODB-CR).

LDAP: Use this setting to authenticate using an LDAP service, such as Active Directory or OpenLDAP.

UsernameSpecifies the username with which to authenticate to a MongoDB database that uses authentication.
PasswordSpecifies the password with which to authenticate to a MongoDB database that uses authentication.
Authentication DatabaseSpecifies the authentication database to use. If empty, the default value will be used. This setting is ignored when the authentication mechanism is set to LDAP. Default is admin.

Query Settings

Scroll Table Layout
widths30%,70%

DatabaseSpecifies the name of the MongoDB database to query
.
CollectionSpecifies the name of the MongoDB collection to query.
QuerySpecifies the query in the strict mode of the MongoDB Extended JSON language (see the MongoDB Documentation for details). If empty, the default value will be used. Default is all documents.
ProjectionSpecifies the projection in the strict mode of the MongoDB Extended JSON language (see the MongoDB Documentation for details). If empty, the default value will be used. Default is all fields
.SortSpecifies the sort order in which the query returns matching documents in the strict mode of the MongoDB Extended JSON language (see the MongoDB Documentation for details). Only applicable when Operation is set to find. If empty, the default value will be used. Default is unsorted.LimitSpecifies the maximum number of documents should returned by the query. Only applicable when Operation is set to find. If empty, the default value will be used. Default is 0 (no limit).SkipSpecifies how may documents, starting from the first, that should be skipped before returning the result of the query. Only applicable when Operation is set to find. If empty, the default value will be used. Default is 0 (nothing skipped)
.

Update Settings
Anchor
UpdateSettings
UpdateSettings

Scroll Table Layout
widths30%,70%

Operation

Specifies a document handling operation. Options are:

  • find: Enter to find documents in the collection that match the query and return the projection fields.
  • insert: Enter to insert a new document from the Input tab results and return the inserted document.
  • update: Enter to update one or more documents in the collection that match the query with those from the Input tab results, then return counts of how many matched the query and how many were modified. Works in conjunction with Upsert and Multi settings described below.
  • delete: Enter to delete documents that match the query from the collection and return a count of how many were deleted. Works in conjunction with Multi setting described below.

If empty, the default value will be used. Default is Find.

Upsert

Applies only when the Operation setting described above is set to update. Enter True to insert a new document from the Input tab results when no documents match the query. When set to False, will only update existing documents and take no action when no documents match the query. If empty, the default value will be used. Default is False.

Multi

Applies only when the Operation setting described above is set to update or delete. Enter True to update or delete all documents that match the query. When set to False, will update or delete the first document that matches the query only. If empty, the default value will be used. Default is True.

Input Tab
Anchor
InputTab
InputTab

...

The following query returns all fields of product id 101 from the products collection.

...

The following query returns only the sku field for product id 101 from the products collection.

...

  1. Right-click the appropriate MongoDB Tool node and choose , then choose Add Output.
  2. In the Add Output dialog, choose a JSON tool in the right pane and click Finish.

After the MongoDB tool is executed, output will be passed to the chained tool. You  You can then perform additional tool configuration as needed (for examplee.g., to specify assertions, extractions, and so onetc.).

Change Log

The following updates to this extension were made.

...

  • Added ability to insert, update, and delete MongoDB documents.Added sort, limit, and skip settings to query functionality.

1.2

  • Added support for MongoDB 4.0, 4.2, 4.4.

...