Skip to content

Releases: picimako/citric

v1.0.20

22 Feb 06:58
Compare
Choose a tag to compare

Changed

  • Supported IDE range is now 2024.1.7 - 2025.1.*

v1.0.19

22 Feb 06:58
Compare
Choose a tag to compare

Added

  • 59: Exceptions thrown by the plugin can now be submitted to the plugin author from the IDE directly.
    See the JetBrains Marketplace documentation on how it works.
  • 57: Added XML, XPath, JSONPath, JSON, CSS and Groovy language injection in several properties in the YAML DSL. Currently,
    it doesn't support some context-dependent properties, those will be added in later releases.
  • Added the missing actions.camel.createRoutes.route property to the YAML DSL schema, and marked actions.camel.createRoutes.routeContext deprecated.
  • Added YAML DSL schema for Citrus 4.3.2+.
  • Added code completion and syntax highlighting support for the empty, notEmpty, null, notNull and hasLength validation matchers.
  • 61: Added code completion and syntax highlighting support for the isUUIDv4 validation matcher.
  • 61: Added default method argument value reporting for HttpClientBuilder.disableRedirectHandling().
  • 61: Added an inspection for validating Kafka endpoint configurations in Spring XML files.
  • 61: Added code completion of Kafka message header selector and filter keys
    (header-filter-key, header-filter-value, header-filter-comparator, event-lookback-window, poll-timeout) in the XML, Java and Groovy DSLs.
  • 61: Added inspection to report invalid Kafka message header selector value matching strategies in the XML DSLs.

Changed

  • Reorganized Gradle plugin-dependent features to make sure they are enabled only when the Gradle and related plugins are installed and enabled.
  • Improved the descriptions of some properties in the YAML DSL schema.
  • With the addition of support for the isUUIDv4 validation matcher, validation matchers are now code completed in a Citrus version dependent way, thus only when the particular validation matchers are available in the currently used Citrus version.
  • Citrus JUnit4 and Citrus JUnit5 test methods are now generated with the v4 package name of the @CitrusTest instead of its v3 package name.
  • Small improvements regarding language injections into Citrus YAML test files.
  • The 'iterate', 'seqeuntial' and 'conditional' containers' code foldings now signal (with a * symbol) if there is configuration in the call chain that is hidden and is not displayed in the foldings' placeholder texts.

Fixed

  • Fixed an exception that occurred during caching Citrus file name patterns with a not yet ready index.
  • Fixed the logic for identifying YAML properties by their paths (e.g. in inspections or language injections). Previously it skipped analyzing the last element of the path, thus plugin features may have been applied to false positive matches, and a broader range of properties.

v1.0.18

24 Oct 06:13
Compare
Choose a tag to compare

Added

  • 50: Added Groovy language injection in the actions.sql.validate.script.value property in the YAML DSL.
  • 50: Added SQL language injection into
    • AbstractDatabaseConnectingTestAction.Builder.statement() calls in the Java and Groovy DSLs,
    • the sql.statements.statement and sql.statement tags in the XML and Spring XML DSLs, and
    • the actions.sql.statements.statement and actions.plsql.statements.statement properties in the YAML DSL.
  • 50: Added DataSource bean completion in the sql@datasource attribute in the XML and Spring XML DSLs.
  • 50: Added TransactionManager bean completion in the sql.transaction@manager attribute in the XML, and in the sql@transaction-manager attribute in the Spring XML DSLs.
  • 50: Added completion of SQL SELECT statement table column names in
    • ExecuteSQLQueryAction.Builder.validate() and ExecuteSQLQueryAction.Builder.extract() based on statement() and sqlResource() calls in same call chains, in the Java and Groovy DSLs.
    • the sql.validate@column and sql.extract@column attributes based on related statement and resource tags in the XML DSLs.
    • the sql.validate.column and sql.extract.column properties based on related statement and file properties in the YAML DSL.
  • Added Citrus resource line markers for the arguments of create(), fromClassPath() and fromFileSystem() of org.citrusframework.spi.Resources in the Java and Groovy DSLs.

Changed

  • Improved the Groovy expression evaluation logic to include binary expressions like "this is " + "concatenated string".

Fixed

  • Fixed a NullPointerException that occurred during folding XML closing tags.

v1.0.17

22 Sep 05:53
c72a213
Compare
Choose a tag to compare

Added

  • Added JSON language injection into the message.body.data XML tag.

Changed

  • Supported IDE range is now 2024.1 - 2024.3.*
  • Added the supported Citrus DSL names to the titles of code folding options in the IDE settings.

Fixed

  • Code completions and inspections that require looking up Citrus classes in a project, can now find those classes also when the project is Citrus Framework itself.

v1.0.16

04 Sep 04:13
Compare
Choose a tag to compare

Added

  • 54: Added support for dash-separated YAML property names for YAML DSL specific features: resource path line markers, Spring bean code completion and HTTP method code completion.
  • 54: Added code completion of MessageType constant values in the YAML DSL.
  • 54: Added an inspection to validate MessageType constant values in a case-insensitive way, in the YAML DSL.
  • 55: Added code folding of the closing tag parts of XML tags in Citrus XML and Spring XML test files.
  • 53: Added code completion of content types in content-type XML attributes, as well as other header value attributes.
  • 46: Added several different language injections in XML tags and attributes in the XML DSLs.

Changed

  • 54: Updated the YAML DSL schema for example to lift some of the restrictions on property names and types, so that both camel-case and dash-separated names are permitted.

Fixed

  • 54: Fixed the YAML schema of SOAP fault objects.

v1.0.15

29 Aug 15:02
Compare
Choose a tag to compare

Added

  • Added a couple more XML attributes for which resource file line markers can be displayed: message/resource@file, transform/xslt@file, message/body/resource@file, ant@build-file.
  • Added code folding for the Camel remove-routes, start-routes and stop-routes XML tags in the non-Spring XML DSL.
  • 52: Added code folding for the Spring <meta-info> tag, the WebSocket server.endpoints tag, various Selenium action tags, and the Kubernetes validate.element tag.

Fixed

  • Fixed an ArrayIndexOutOfBoundsException that occurred during code folding of certain XML tags.
  • Fixed some of the XML tag folders to retrieve the proper local names of tags when determining the eligibility for folding.

v1.0.12

26 Jul 10:38
0de66b8
Compare
Choose a tag to compare

Added

  • 39: Added code folding for iterate()....().actions() call chains in Groovy test files to collapse them into Groovy-style code.
  • 39: Added Groovy DSL support for eligible inspections, line markers and references.
  • 44: Disabled the execution of many features (inspections, line markers, etc.) in projects that don't use Citrus.
  • 32: Added an action into the editor Generate menu to generate @CitrusSpringXmlTestFactory methods in Citrus JUnit 5 test classes.
  • 32: Added an inspection to validate @CitrusSpringXmlTestFactory annotated test methods from various aspects.
  • 32: Added inspections to validate the combined usage of @CitrusSpringXmlTestFactory and non-Spring-XML test creation with CitrusTestFactorySupport, as well as to report various issues on calls on CitrusTestFactorySupport.
  • 32: Added a line marker to calls on CitrusTestFactorySupport, so that users can navigate to the test source files and directories referenced by those calls.

Changed

  • Improved Groovy expression evaluation logic, so that variable values are now also evaluated e.g. during container folding.

Fixed

  • Fixed a couple of 'Slow operations are prohibited on EDT' exceptions.

v1.0.11

30 May 06:16
Compare
Choose a tag to compare

Added

  • 39: Added HTTP request method code completion for WaitHttpConditionBuilder#method() in Groovy test files.
  • 39: Added code completion of Kafka offset reset strategies in KafkaEndpointBuilder.offsetReset() in Groovy test files.
  • 39: Added code completion of SimpleJsonSchema-type Spring beans in JsonMessageValidationContext.Builder.schema(String) and JsonSchemaRepository-type Spring beans in JsonMessageValidationContext.Builder.schemaRepository(String) in Groovy test files.
  • 39: Added code completion of XsdSchema-type Spring beans in XmlValidationContextBuilder.schema(String) and XsdSchemaRepository-type Spring beans in XmlValidationContextBuilder.schemaRepository(String) in Groovy test files.
  • 39: Added code completion for MessageType values when sending and receiving messages in Groovy test files.
  • 39: Added code completion for JMS, Kafka, etc. specific header names in Message.setHeader(), Message.getHeader() and Message.removeHeader() calls, as well as in MessageBuilderSupport.header(String, Object) when sending and receiving messages in Groovy test files.
  • 39: Added code completion for SQL transaction isolation levels in the argument of sql()/query().transactionIsolationLevel(...) in Groovy test files.
  • 39: Added code completion of many different Spring bean types in Groovy test files.
  • 39: Added code folding for conditional().when().actions() and sequential().actions() call chains in Groovy test files to collapse them into Groovy-style code.
  • 39: Added code folding for HamcrestConditionExpression.assertThat() calls to collapse them into the argument list of assertThat() in Groovy test files.

Changed

  • Supported IDE range is now 2023.3 - 2024.2-EAP.
  • Disabled custom test source file icons in IJ-2023.3.* due to IntelliJ Platform changes no suitable alternative to display. They are enabled in IJ-2024.1 and up.
  • Restricted the 'Wait for http method' code completion in YAML files to actual Citrus YAML test files.

Fixed

  • Eliminated "Slow operations are prohibited on EDT." errors in a couple of places, so they won't spam the logs.

v1.0.10

07 May 09:43
Compare
Choose a tag to compare

Fixed

  • Fixed an exception regarding an HTTP method code completion in YAML test files.
  • Fixed a syntax issue in the YAML DSL schema that may have prevented proper parsing.
  • Fixed the code completion of root-level YAML DSL schema keys.

v1.0.9

06 May 18:46
Compare
Choose a tag to compare

[1.0.9]

Added

  • 36: Added support for file: and jar: resources when looking up resources referenced by te @CitrusTestSource, as well as during test source file execution and navigation to matching @CitrusTestSource.
  • 36: Added support for file: and jar: resources when showing line markers for methods accepting Citrus resource paths.
  • 42: Added a line marker in YAML test files to properties that accept classpath:, file:, jar: and http: resource paths, so that users can navigate to them.
  • 42: Added HTTP request method code completion for the actions.waitFor.http.method property value in YAML test files.
  • 42: Added code completion for various Spring bean names in YAML test files.
  • 42: Added inspection to report non-Throwable classes specified in the actions.assert.exception property value in YAML test files.
  • 42: Added class references of Throwable classes in the actions.assert.exception property value in YAML test files.

Changed

  • Directory paths are now filtered out from line markers and the test source file recognition when specified in the sources attribute of the @CitrusTestSource annotation.
  • Citrus 4.x YAML DSL schema is extended with several property descriptions, including examples and default values for code completion, as well as possible property values for automatic validation.
  • Added the Citrus resource path line markers to a couple more Citrus Java methods.
  • Added code completion for a couple more types of Spring beans in the Java DSL.

Fixed

  • Custom test source file icons are now displayed with a lot less false positive matches.
  • Fixed the YAML DSL schema for some SOAP message related configurations.
  • All types of non-Throwable values are now reported in the argument list of Assert.Builder#exception().