opensearch-project / common-utils

Offers a library of utilities for building Java-based OpenSearch plugins
Apache License 2.0
20 stars 93 forks source link

Adding EntityType to Comment Model #671

Closed toepkerd closed 5 months ago

toepkerd commented 5 months ago

Description

This is an extension to the following PR: https://github.com/opensearch-project/common-utils/pull/663

Issues Resolved

[List any issues this PR will resolve]

Check List

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

toepkerd commented 5 months ago

CIs blocked because job runners are unavailable, local build output:

toepkerd@bcd0740f818a common-utils % ./gradlew build
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appende

> Task :test

ConfigConstantsTest > testSecureHttpKeystorePassword() PASSED

ConfigConstantsTest > testLegacyHttpKeystorePassword() PASSED

InjectSecurityTest > testInjectRoles() PASSED

InjectSecurityTest > testUsersRolesEmpty() PASSED

InjectSecurityTest > testInjectProperty() PASSED

InjectSecurityTest > testInjectUser() PASSED

InjectSecurityTest > testInjectUserInfo() PASSED

UserTest > testStreamConstForNoTenantUser() PASSED

UserTest > testParseUserStringEmpty() PASSED

UserTest > testParseUserStringNoRoles() PASSED

UserTest > testEmptyConst() PASSED

UserTest > testUserIsAdminDnFalse() PASSED

UserTest > testNullTenantJsonConst() PASSED

UserTest > testParseUserStringNameWithTenant() PASSED

UserTest > testStreamConstForTenantUser() PASSED

UserTest > testParseUserStringNoRolesWithTenant() PASSED

UserTest > testParamsConstForTenantUser() PASSED

UserTest > testParseUserString() PASSED

UserTest > testParamsConstForNoTenantUser() PASSED

UserTest > testParseUserStringNobackendRoles() PASSED

UserTest > testParseUserStringMalformed() PASSED

UserTest > testUserOrSettingsAreNullOrEmpty() PASSED

UserTest > testParseUserStringName() PASSED

UserTest > testUserIsAdminDnTrue() PASSED

UserTest > testNonNullTenantJsonConst() PASSED

LegacyChimeMessageTest > testContentMissingMessage() PASSED

LegacyChimeMessageTest > testRoundTrippingLegacyChimeMessage() PASSED

LegacyChimeMessageTest > testBuildingLegacyChimeMessage() PASSED

LegacyChimeMessageTest > testUrlMissingMessage() PASSED

LegacyChimeMessageTest > testMissingDestinationName() PASSED

LegacyCustomWebhookMessageTest > testURLandHostNameMissingOrEmpty() PASSED

LegacyCustomWebhookMessageTest > testBuildingLegacyCustomWebhookMessage() PASSED

LegacyCustomWebhookMessageTest > testContentMissingMessage() PASSED

LegacyCustomWebhookMessageTest > testRoundTrippingLegacyCustomWebhookMessageWithUrl() PASSED

LegacyCustomWebhookMessageTest > testMissingDestinationName() PASSED

LegacyCustomWebhookMessageTest > testRoundTrippingLegacyCustomWebhookMessageWithHostFails() PASSED

LegacyCustomWebhookMessageTest > testUnsupportedHttpMethods() PASSED

LegacyEmailMessageTest > testRoundTrippingLegacyEmailMessage() PASSED

LegacyEmailMessageTest > testBuildingLegacyEmailMessage() PASSED

LegacyEmailMessageTest > testContentMissingMessage() PASSED

LegacyEmailMessageTest > testUnsupportedMethods() PASSED

LegacyEmailMessageTest > testAccountNameMissingOrEmpty() PASSED

LegacyEmailMessageTest > testFromMissingOrEmpty() PASSED

LegacyEmailMessageTest > testSubjectDefaultsToDestinationNameWhenMissingOrEmpty() PASSED

LegacyEmailMessageTest > testRecipientsMissingOrEmpty() PASSED

LegacyEmailMessageTest > testMissingDestinationName() PASSED

LegacyEmailMessageTest > testHostMissingOrEmpty() PASSED

LegacySlackMessageTest > testRoundTrippingLegacySlackMessage() PASSED

LegacySlackMessageTest > testBuildingLegacySlackMessage() PASSED

LegacySlackMessageTest > testContentMissingMessage() PASSED

LegacySlackMessageTest > testUrlMissingMessage() PASSED

LegacySlackMessageTest > testMissingDestinationName() PASSED

LegacySlackMessageTest > testUrlEmptyMessage() PASSED

LegacyDestinationResponseTest > testRoundTrippingLegacyDestinationResponse() PASSED

LegacyDestinationResponseTest > testMissingLegacyDestinationStatusCode() PASSED

LegacyDestinationResponseTest > testMissingLegacyDestinationResponse() PASSED

LegacyDestinationResponseTest > testBuildingLegacyDestinationResponse() PASSED

IntegrationTests > testCreateRestClientWithUser() SKIPPED

IntegrationTests > testCreateRestClientWithCerts() SKIPPED

IntegrationTests > testCreateRestClientWithoutPem() SKIPPED

SecureRestClientBuilderTest > testMissingPem() STANDARD_ERROR
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

SecureRestClientBuilderTest > testMissingPem() PASSED

SecureRestClientBuilderTest > testMissingConfigPath() PASSED

SecureRestClientBuilderTest > testHttpsRestClient() PASSED

SecureRestClientBuilderTest > testHttpRestClient() PASSED

TrustStoreTest > testCreate() PASSED

AlertTests > test alert in audit state() PASSED

AlertTests > test agg alert as template args() PASSED

AlertTests > test chained alert() PASSED

AlertTests > test alert as template args() PASSED

AlertTests > test alert acknowledged() PASSED

AlertingPluginInterfaceTests > getMonitor() PASSED

AlertingPluginInterfaceTests > deleteWorkflow() PASSED

AlertingPluginInterfaceTests > acknowledgeAlerts() PASSED

AlertingPluginInterfaceTests > indexBucketMonitor() PASSED

AlertingPluginInterfaceTests > acknowledgeChainedAlerts() PASSED

AlertingPluginInterfaceTests > getWorkflowAlerts() PASSED

AlertingPluginInterfaceTests > publishFindings() PASSED

AlertingPluginInterfaceTests > getAlerts() PASSED

AlertingPluginInterfaceTests > indexWorkflow() PASSED

AlertingPluginInterfaceTests > deleteMonitor() PASSED

AlertingPluginInterfaceTests > getFindings() PASSED

AlertingPluginInterfaceTests > indexMonitor() PASSED

AlertingPluginInterfaceTests > searchMonitors() PASSED

AlertingPluginInterfaceTests > getWorkflow() PASSED

CorrelationAlertTests > test correlation alert as template args() PASSED

CorrelationAlertTests > Feature Correlation Alert serialize and deserialize should be equal() PASSED

CorrelationAlertTests > test alert acknowledged() PASSED

MonitorTests > test enabled time() PASSED

MonitorTests > test max triggers() PASSED

AcknowledgeAlertRequestTests > test acknowledge alert request() PASSED

AcknowledgeAlertResponseTests > test acknowledge alert response() PASSED

AcknowledgeChainedAlertRequestTests > test acknowledge chained alert request() PASSED

DeleteCommentRequestTests > test delete comment request writing and parsing() PASSED

DeleteCommentResponseTests > test delete comment response writing and parsing() PASSED

DeleteMonitorRequestTests > test delete monitor request() PASSED

DeleteWorkflowRequestTests > test delete workflow request() PASSED

DeleteWorkflowResponseTests > test delete workflow response() PASSED

DocLevelMonitorFanOutRequestTests > test doc level monitor fan out request as stream() PASSED

DocLevelMonitorFanOutResponseTests > test doc level monitor fan out response with errors as stream() PASSED

DocLevelMonitorFanOutResponseTests > test doc level monitor fan out response as stream() PASSED

GetAlertsRequestTests > test validate returns null() PASSED

GetAlertsRequestTests > test get alerts request with filter() PASSED

GetAlertsRequestTests > test get alerts request() PASSED

GetAlertsResponseTests > test get alerts response with alerts() PASSED

GetAlertsResponseTests > test get alerts response with no alerts() PASSED

GetAlertsResponseTests > test toXContent for get alerts response() PASSED

GetFindingsRequestTests > test validate returns null() PASSED

GetFindingsRequestTests > test get findings request() PASSED

GetFindingsResponseTests > test get findings response() PASSED

GetWorkflowAlertsRequestTests > test validate returns null() PASSED

GetWorkflowAlertsRequestTests > test get alerts request with custom alerts and associated alerts indices() PASSED

GetWorkflowAlertsRequestTests > test get alerts request() PASSED

GetWorkflowAlertsResponseTests > test get alerts response with alerts() PASSED

GetWorkflowAlertsResponseTests > test get alerts response with no alerts() PASSED

GetWorkflowAlertsResponseTests > test toXContent for get alerts response() PASSED

GetWorkflowRequestTests > testGetWorkflowRequest() PASSED

GetWorkflowResponseTests > testGetWorkflowResponse() PASSED

GetWorkflowResponseTests > testGetWorkflowResponseWhereAuditDelegateMonitorAlertsFlagIsNotSet() PASSED

IndexCommentRequestTests > test index comment post request() PASSED

IndexCommentRequestTests > test index comment put request() PASSED

IndexCommentResponseTests > test index comment response with comment() PASSED

IndexMonitorRequestTests > test index bucket monitor post request() PASSED

IndexMonitorRequestTests > test index monitor put request() PASSED

IndexMonitorRequestTests > test index monitor post request() PASSED

IndexMonitorRequestTests > Index bucket monitor serialize and deserialize transport object should be equal() PASSED

IndexMonitorResponseTests > test index monitor response with monitor() PASSED

IndexWorkflowRequestTests > Index composite workflow serialize and deserialize transport object should be equal() PASSED

IndexWorkflowRequestTests > test validate() PASSED

IndexWorkflowRequestTests > test index composite workflow post request() PASSED

IndexWorkflowRequestTests > test index workflow post request() PASSED

IndexWorkflowRequestTests > test index workflow put request() PASSED

IndexWorkflowResponseTests > test index workflow response with workflow() PASSED

PublishFindingsRequestTests > test delete monitor request() PASSED

AlertErrorTests > test alertError obfuscates IP addresses in message() PASSED

BucketLevelTriggerTests > test asTemplateArgs returns expected values() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput cannot determine ApiType when invalid path is provided as URI component() PASSED

ClusterMetricsInputTests > test parsePathParams with path params in url() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput correctly determines ApiType when path is provided as URI component() PASSED

ClusterMetricsInputTests > test url field contains invalid characters() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput creation when all inputs are empty() PASSED

ClusterMetricsInputTests > test parseEmptyFields populates empty path and path_params when url is provided() PASSED

ClusterMetricsInputTests > test parsePathParams with path params containing illegal characters() PASSED

ClusterMetricsInputTests > test valid ClusterMetricsInput creation using HTTP URI component fields() PASSED

ClusterMetricsInputTests > test valid ClusterMetricsInput creation using HTTP url field() PASSED

ClusterMetricsInputTests > test invalid scheme in url field() PASSED

ClusterMetricsInputTests > test multiple invalid clusters() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput cannot determine ApiType when invaid path is provided in URL() PASSED

ClusterMetricsInputTests > test valid ClusterMetricsInput creation using HTTPS url field() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput correctly determines ApiType when path is provided in URL field() PASSED

ClusterMetricsInputTests > test invalid url() PASSED

ClusterMetricsInputTests > test multiple valid clusters() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput creation when all inputs but path params are empty() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput correctly determines ApiType when path and path params are provided in URL field() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput cannot determine ApiType when invalid path and path params are provided as URI components() PASSED

ClusterMetricsInputTests > test invalid path() PASSED

ClusterMetricsInputTests > test parsePathParams with no path params for ApiType that requires path params() PASSED

ClusterMetricsInputTests > test invalid host in url field() PASSED

ClusterMetricsInputTests > test a single valid cluster() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput correctly determines ApiType when path and path params are provided as URI components() PASSED

ClusterMetricsInputTests > test parsePathParams with no path params() PASSED

ClusterMetricsInputTests > test url field and URI component fields with path params create equal URI() PASSED

ClusterMetricsInputTests > test a single invalid cluster() PASSED

ClusterMetricsInputTests > test ClusterMetricsInput cannot determine ApiType when invaid path and path params are provided in URL() PASSED

ClusterMetricsInputTests > test parsePathParams with path params for ApiType that doesn't support path params() PASSED

ClusterMetricsInputTests > test parsePathParams with path params as URI field() PASSED

ClusterMetricsInputTests > test invalid port in url field() PASSED

ClusterMetricsInputTests > test url field and URI component fields create different URI() PASSED

ClusterMetricsInputTests > test url field and URI component fields with path params create different URI() PASSED

ClusterMetricsInputTests > test URI fields provided and url contains invalid characters() PASSED

ClusterMetricsInputTests > test parseEmptyFields populates empty url field when path and path_params are provided() PASSED

ClusterMetricsInputTests > test url field and URI component fields create equal URI() PASSED

CompositeInputTests > test create Delegate with illegal monitorId value() PASSED

CompositeInputTests > test create Chained Findings with null monitorId value and  monitorIds list with blank monitorIds() PASSED

CompositeInputTests > test delegate asTemplateArgs() PASSED

CompositeInputTests > test create Chained Findings with illegal monitorId value and empty monitorIds list() PASSED

CompositeInputTests > test sequence asTemplateArgs() PASSED

CompositeInputTests > test create Delegate with illegal order value() PASSED

DataSourcesTests > Test DataSources construction with no comments indices() PASSED

DocLevelMonitorInputTests > test DocLevelQuery asTemplateArgs() PASSED

DocLevelMonitorInputTests > test create Doc Level Query with invalid characters for tags() PASSED

DocLevelMonitorInputTests > test DocLevelMonitorInput asTemplateArgs() PASSED

DocLevelMonitorInputTests > test create Doc Level Query with invalid name length() PASSED

FindingTests > test finding asTemplateArgs() PASSED

ScheduleTest > test two types() PASSED

ScheduleTest > test time zone conversion() PASSED

ScheduleTest > test invalid interval units() PASSED

ScheduleTest > test interval period ending at() PASSED

ScheduleTest > period job 3 minutes() PASSED

ScheduleTest > test cron calculates next time to execute after restart() PASSED

ScheduleTest > period job running on time() PASSED

ScheduleTest > test cron schedule round trip() PASSED

ScheduleTest > test interval calculates next time to execute using enabled time() PASSED

ScheduleTest > test interval calculates next time to execute using cached previous time() PASSED

ScheduleTest > test cron calculates next time to execute using cached previous time() PASSED

ScheduleTest > period job not running on time() PASSED

ScheduleTest > test interval period starting at() PASSED

ScheduleTest > test time zone() PASSED

ScheduleTest > period job test null last execution time() PASSED

ScheduleTest > cron job running on time() PASSED

ScheduleTest > period job running exactly at interval() PASSED

ScheduleTest > test cron invalid timezone rule() PASSED

ScheduleTest > test invalid cron expression() PASSED

ScheduleTest > test cron period starting at() PASSED

ScheduleTest > test cron invalid timezone offset() PASSED

ScheduleTest > test invalid type() PASSED

ScheduleTest > cron job not running on time() PASSED

ScheduleTest > test interval schedule round trip() PASSED

ScheduleTest > test cron invalid missing timezone() PASSED

ScheduleTest > test cron period ending at() PASSED

WriteableTests > test action execution policy as stream() PASSED

WriteableTests > test query-level monitorrunresult as stream() PASSED

WriteableTests > test chained alert trigger as stream() PASSED

WriteableTests > test inputrunresult as stream() PASSED

WriteableTests > test RemoteMonitorTrigger as stream() PASSED

WriteableTests > test doc-level query with query Field Names as stream() PASSED

WriteableTests > test doc-level triggerrunresult as stream() PASSED

WriteableTests > test bucket-level triggerrunresult as stream() PASSED

WriteableTests > test user as stream() PASSED

WriteableTests > test searchinput as stream() PASSED

WriteableTests > test RemoteDocLevelMonitorInput as stream() PASSED

WriteableTests > test RemoteMonitorInput as stream() PASSED

WriteableTests > test empty user as stream() PASSED

WriteableTests > test action as stream with throttled enabled and null throttle() PASSED

WriteableTests > test doc-level query as stream() PASSED

WriteableTests > test doc-level monitorrunresult as stream() PASSED

WriteableTests > test action as stream with null throttle() PASSED

WriteableTests > test bucket-level monitorrunresult as stream() PASSED

WriteableTests > test action as stream() PASSED

WriteableTests > test Comment object() PASSED

WriteableTests > test actionrunresult as stream() PASSED

WriteableTests > test query-level trigger as stream() PASSED

WriteableTests > test workflow as stream() PASSED

WriteableTests > test query-level triggerrunresult as stream() PASSED

WriteableTests > test action as stream with null subject template() PASSED

WriteableTests > test DocumentLevelTriggerRunResult as stream() PASSED

WriteableTests > test query-level monitor as stream() PASSED

WriteableTests > test doc-level trigger as stream() PASSED

WriteableTests > test bucket-level trigger as stream() PASSED

WriteableTests > test throttle as stream() PASSED

XContentTests > test DataSources parsing() PASSED

XContentTests > test creating a monitor with duplicate trigger ids fails() PASSED

XContentTests > test throttle parsing() PASSED

XContentTests > test monitor parsing with no schedule() PASSED

XContentTests > test user parsing() PASSED

XContentTests > test no-op trigger parsing() PASSED

XContentTests > test action parsing with null subject template() PASSED

XContentTests > test RemoteMonitorInput() PASSED

XContentTests > test monitor parsing with no name() PASSED

XContentTests > test chainedMonitorFindings parsing() PASSED

XContentTests > test action execution result parsing() PASSED

XContentTests > test composite workflow parsing() PASSED

XContentTests > test composite workflow parsing with auditDelegateMonitorAlerts flag disabled() PASSED

XContentTests > test query-level trigger parsing() PASSED

XContentTests > test query-level monitor parsing without user() PASSED

XContentTests > test RemoteMonitorTrigger() PASSED

XContentTests > test throttle parsing with negative value() PASSED

XContentTests > test RemoteDocLevelMonitorInput() PASSED

XContentTests > test bucket-level monitor parsing() PASSED

XContentTests > test old monitor format parsing() PASSED

XContentTests > test creating an bucket-level monitor with invalid trigger type fails() PASSED

XContentTests > test action parsing with null throttle() PASSED

XContentTests > test MonitorMetadata() PASSED

XContentTests > test action with per execution scope does not support throttling() PASSED

XContentTests > test doc level query toXcontent() PASSED

XContentTests > test Comment parsing() PASSED

XContentTests > test throttle parsing with wrong unit() PASSED

XContentTests > test doc level query toXcontent with query field names() PASSED

XContentTests > test creating an bucket-level monitor with invalid input fails() PASSED

XContentTests > test alert parsing with noop trigger() PASSED

XContentTests > test action parsing() PASSED

XContentTests > test workflow parsing() PASSED

XContentTests > test bucket-level trigger parsing() PASSED

XContentTests > test alert parsing() PASSED

XContentTests > test alert parsing with user as null() PASSED

XContentTests > test creating an query-level monitor with invalid trigger type fails() PASSED

XContentTests > test alert parsing without user() PASSED

XContentTests > test action execution policy() PASSED

XContentTests > test empty user parsing() PASSED

NotificationsPluginInterfaceTests > getNotificationConfig() PASSED

NotificationsPluginInterfaceTests > getPluginFeatures() PASSED

NotificationsPluginInterfaceTests > getChannelList() PASSED

NotificationsPluginInterfaceTests > updateNotificationConfig() PASSED

NotificationsPluginInterfaceTests > publishLegacyNotification() PASSED

NotificationsPluginInterfaceTests > sendNotification() PASSED

NotificationsPluginInterfaceTests > createNotificationConfig() PASSED

NotificationsPluginInterfaceTests > deleteNotificationConfig() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal EmailGroup() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal microsoft teams() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal emailGroup() PASSED

CreateNotificationConfigRequestTests > Create config should deserialize json object using parser Email Group() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal chime() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal email() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal slack() PASSED

CreateNotificationConfigRequestTests > Create config should deserialize json object using parser Chime() PASSED

CreateNotificationConfigRequestTests > Create config should deserialize json object using parser slack() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal SmtpAccount() PASSED

CreateNotificationConfigRequestTests > Create config should deserialize json object using parser webhook() PASSED

CreateNotificationConfigRequestTests > Create config should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,165][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_1, while parsing configuration
    [2024-06-11T14:30:00,168][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_2, while parsing configuration
    [2024-06-11T14:30:00,168][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_3, while parsing configuration

CreateNotificationConfigRequestTests > Create config should safely ignore extra field in json object() PASSED

CreateNotificationConfigRequestTests > Update config should deserialize json object using parser Email() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal microsoft teams() PASSED

CreateNotificationConfigRequestTests > Create config should deserialize json object using parser microsoft teams() PASSED

CreateNotificationConfigRequestTests > Create config should throw exception when invalid json object is passed() PASSED

CreateNotificationConfigRequestTests > Update config should deserialize json object using parser SmtpAccount() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal SmtpAccount() PASSED

CreateNotificationConfigRequestTests > Create config with special char in config_id should fail() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize transport object should be equal webhook() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal chime() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal email() PASSED

CreateNotificationConfigRequestTests > Create config serialize and deserialize using json object should be equal slack() PASSED

CreateNotificationConfigResponseTests > Create response should throw exception when configId is replace with configId2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,199][INFO ][o.o.c.n.a.CreateNotificationConfigResponse] [[Test worker]] Unexpected field: config_id2, while parsing CreateNotificationConfigResponse

CreateNotificationConfigResponseTests > Create response should throw exception when configId is replace with configId2 in json object() PASSED

CreateNotificationConfigResponseTests > Create response should deserialize json object using parser() PASSED

CreateNotificationConfigResponseTests > Create response should throw exception when invalid json object is passed() PASSED

CreateNotificationConfigResponseTests > Create response should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,201][INFO ][o.o.c.n.a.CreateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_1, while parsing CreateNotificationConfigResponse
    [2024-06-11T14:30:00,201][INFO ][o.o.c.n.a.CreateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_2, while parsing CreateNotificationConfigResponse
    [2024-06-11T14:30:00,202][INFO ][o.o.c.n.a.CreateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_3, while parsing CreateNotificationConfigResponse

CreateNotificationConfigResponseTests > Create response should safely ignore extra field in json object() PASSED

CreateNotificationConfigResponseTests > Create response serialize and deserialize transport object should be equal() PASSED

CreateNotificationConfigResponseTests > Create response serialize and deserialize using json object should be equal() PASSED

DeleteNotificationConfigRequestTests > Delete request serialize and deserialize using json object should be equal() PASSED

DeleteNotificationConfigRequestTests > Delete request should throw exception when config_id_lists is replace with config_id_lists2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,204][INFO ][o.o.c.n.a.DeleteNotificationConfigRequest] [[Test worker]] Unexpected field: config_id_lists, while parsing DeleteNotificationConfigRequest

DeleteNotificationConfigRequestTests > Delete request should throw exception when config_id_lists is replace with config_id_lists2 in json object() PASSED

DeleteNotificationConfigRequestTests > Delete request should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,206][INFO ][o.o.c.n.a.DeleteNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_1, while parsing DeleteNotificationConfigRequest
    [2024-06-11T14:30:00,206][INFO ][o.o.c.n.a.DeleteNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_2, while parsing DeleteNotificationConfigRequest
    [2024-06-11T14:30:00,206][INFO ][o.o.c.n.a.DeleteNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_3, while parsing DeleteNotificationConfigRequest

DeleteNotificationConfigRequestTests > Delete request should safely ignore extra field in json object() PASSED

DeleteNotificationConfigRequestTests > Delete request should throw exception when invalid json object is passed() PASSED

DeleteNotificationConfigRequestTests > Delete request should deserialize json object using parser() PASSED

DeleteNotificationConfigRequestTests > Delete request serialize and deserialize transport object should be equal() PASSED

DeleteNotificationConfigResponseTests > Delete response should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,209][INFO ][o.o.c.n.a.DeleteNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_1, while parsing DeleteNotificationConfigResponse
    [2024-06-11T14:30:00,209][INFO ][o.o.c.n.a.DeleteNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_2, while parsing DeleteNotificationConfigResponse
    [2024-06-11T14:30:00,210][INFO ][o.o.c.n.a.DeleteNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_3, while parsing DeleteNotificationConfigResponse

DeleteNotificationConfigResponseTests > Delete response should safely ignore extra field in json object() PASSED

DeleteNotificationConfigResponseTests > Delete response should deserialize json object using parser() PASSED

DeleteNotificationConfigResponseTests > Delete response serialize and deserialize using json object should be equal() PASSED

DeleteNotificationConfigResponseTests > Delete response should throw exception when configId is replace with configId2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,211][INFO ][o.o.c.n.a.DeleteNotificationConfigResponse] [[Test worker]] Unexpected field: config_id2, while parsing DeleteNotificationConfigResponse

DeleteNotificationConfigResponseTests > Delete response should throw exception when configId is replace with configId2 in json object() PASSED

DeleteNotificationConfigResponseTests > Delete response should throw exception when invalid json object is passed() PASSED

DeleteNotificationConfigResponseTests > Delete response serialize and deserialize transport object should be equal() PASSED

GetChannelListRequestTests > Get request should throw exception when invalid json object is passed() PASSED

GetChannelListRequestTests > Get request should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,217][INFO ][o.o.c.n.a.GetChannelListRequest] [[Test worker]] Unexpected field: extra_field_1, while parsing GetChannelListRequest
    [2024-06-11T14:30:00,217][INFO ][o.o.c.n.a.GetChannelListRequest] [[Test worker]] Unexpected field: extra_field_2, while parsing GetChannelListRequest
    [2024-06-11T14:30:00,217][INFO ][o.o.c.n.a.GetChannelListRequest] [[Test worker]] Unexpected field: extra_field_3, while parsing GetChannelListRequest

GetChannelListRequestTests > Get request should safely ignore extra field in json object() PASSED

GetChannelListRequestTests > Get request serialize and deserialize using json object should be equal() PASSED

GetChannelListRequestTests > Get request serialize and deserialize transport object should be equal() PASSED

GetChannelListResponseTests > Get Response should throw exception if channelList is absent in json() PASSED

GetChannelListResponseTests > Get Response should use isEnabled=true if absent in json object() PASSED

GetChannelListResponseTests > Get Response serialize and deserialize using json with multiple config object should be equal() PASSED

GetChannelListResponseTests > Get Response serialize and deserialize using json config object should be equal() PASSED

GetChannelListResponseTests > Get Response should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,222][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,223][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,223][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_3

GetChannelListResponseTests > Get Response should safely ignore extra field in json object() PASSED

GetChannelListResponseTests > Get Response serialize and deserialize with multiple config object should be equal() PASSED

GetChannelListResponseTests > Get Response should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() PASSED

GetChannelListResponseTests > Get Response serialize and deserialize with config object should be equal() PASSED

GetNotificationConfigRequestTests > Get request with only config_id field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with only sort_order=asc field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request no field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with only sort_order=ASC field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request should throw exception when invalid json object is passed() PASSED

GetNotificationConfigRequestTests > Get request with only sort_order=DESC field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with only from_index field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with invalid sort_order should throw exception() PASSED

GetNotificationConfigRequestTests > Get request with only sort_order=desc field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with only filter_param_list field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,233][INFO ][o.o.c.n.a.GetNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_1, while parsing GetNotificationConfigRequest
    [2024-06-11T14:30:00,234][INFO ][o.o.c.n.a.GetNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_2, while parsing GetNotificationConfigRequest
    [2024-06-11T14:30:00,234][INFO ][o.o.c.n.a.GetNotificationConfigRequest] [[Test worker]] Unexpected field: extra_field_3, while parsing GetNotificationConfigRequest

GetNotificationConfigRequestTests > Get request should safely ignore extra field in json object() PASSED

GetNotificationConfigRequestTests > Get request with only max_items field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request serialize and deserialize using json object should be equal() PASSED

GetNotificationConfigRequestTests > Get request with only sort_field field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request with all field should deserialize json object using parser() PASSED

GetNotificationConfigRequestTests > Get request serialize and deserialize transport object should be equal() PASSED

GetNotificationConfigResponseTests > Search result should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,238][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,239][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,239][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_3

GetNotificationConfigResponseTests > Search result should safely ignore extra field in json object() PASSED

GetNotificationConfigResponseTests > Search result serialize and deserialize with multiple config object should be equal() PASSED

GetNotificationConfigResponseTests > Search result should throw exception if notificationConfigs is absent in json() PASSED

GetNotificationConfigResponseTests > Search result serialize and deserialize with config object should be equal() PASSED

GetNotificationConfigResponseTests > Search result serialize and deserialize using json config object should be equal() PASSED

GetNotificationConfigResponseTests > Search result should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() PASSED

GetNotificationConfigResponseTests > Search result serialize and deserialize using json with multiple config object should be equal() PASSED

GetPluginFeaturesRequestTests > Get request should throw exception when invalid json object is passed() PASSED

GetPluginFeaturesRequestTests > Get request should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,246][INFO ][o.o.c.n.a.GetPluginFeaturesRequest] [[Test worker]] Unexpected field: extra_field_1, while parsing GetPluginFeaturesRequest
    [2024-06-11T14:30:00,247][INFO ][o.o.c.n.a.GetPluginFeaturesRequest] [[Test worker]] Unexpected field: extra_field_2, while parsing GetPluginFeaturesRequest
    [2024-06-11T14:30:00,247][INFO ][o.o.c.n.a.GetPluginFeaturesRequest] [[Test worker]] Unexpected field: extra_field_3, while parsing GetPluginFeaturesRequest

GetPluginFeaturesRequestTests > Get request should safely ignore extra field in json object() PASSED

GetPluginFeaturesRequestTests > Get request serialize and deserialize using json object should be equal() PASSED

GetPluginFeaturesRequestTests > Get request serialize and deserialize transport object should be equal() PASSED

GetPluginFeaturesResponseTests > Get Response should throw exception if allowed_config_type_list is absent in json() PASSED

GetPluginFeaturesResponseTests > Get Response serialize and deserialize using json config object should be equal() PASSED

GetPluginFeaturesResponseTests > Get Response should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,250][INFO ][o.o.c.n.a.GetPluginFeaturesResponse] [[Test worker]] Unexpected field: extra_field_1, while parsing DeleteNotificationConfigResponse
    [2024-06-11T14:30:00,250][INFO ][o.o.c.n.a.GetPluginFeaturesResponse] [[Test worker]] Unexpected field: extra_field_2, while parsing DeleteNotificationConfigResponse
    [2024-06-11T14:30:00,250][INFO ][o.o.c.n.a.GetPluginFeaturesResponse] [[Test worker]] Unexpected field: extra_field_3, while parsing DeleteNotificationConfigResponse

GetPluginFeaturesResponseTests > Get Response should safely ignore extra field in json object() PASSED

GetPluginFeaturesResponseTests > Get Response should throw exception if plugin_features is absent in json() STANDARD_OUT
    [2024-06-11T14:30:00,251][INFO ][o.o.c.n.a.GetPluginFeaturesResponse] [[Test worker]] Unexpected field: config_type_list, while parsing DeleteNotificationConfigResponse

GetPluginFeaturesResponseTests > Get Response should throw exception if plugin_features is absent in json() PASSED

GetPluginFeaturesResponseTests > Get Response serialize and deserialize transport object should be equal() PASSED

LegacyPublishNotificationRequestTests > publish request serialize and deserialize transport object should be equal() PASSED

LegacyPublishNotificationResponseTests > Create response serialize and deserialize transport object should be equal() PASSED

SendNotificationRequestTests > Send request validate return exception if channelIds field is empty() PASSED

SendNotificationRequestTests > Send request should safely ignore thread context is absent in json object() PASSED

SendNotificationRequestTests > Send request should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,259][INFO ][o.o.c.n.a.SendNotificationRequest] [[Test worker]] Unexpected field: extra_field_1, while parsing SendNotificationRequest
    [2024-06-11T14:30:00,260][INFO ][o.o.c.n.a.SendNotificationRequest] [[Test worker]] Unexpected field: extra_field_2, while parsing SendNotificationRequest
    [2024-06-11T14:30:00,260][INFO ][o.o.c.n.a.SendNotificationRequest] [[Test worker]] Unexpected field: extra_field_3, while parsing SendNotificationRequest

SendNotificationRequestTests > Send request should safely ignore extra field in json object() PASSED

SendNotificationRequestTests > Send request should throw exception if channelMessage field is absent in json object() PASSED

SendNotificationRequestTests > Send request serialize and deserialize using json object should be equal() PASSED

SendNotificationRequestTests > Send request should throw exception if channelIds field is absent in json object() PASSED

SendNotificationRequestTests > Send request should throw exception if notificationInfo field is absent in json object() PASSED

SendNotificationRequestTests > Send request serialize and deserialize transport object should be equal() PASSED

SendNotificationRequestTests > Send request should throw exception when invalid json object is passed() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal SmtpAccount() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal EmailGroup() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal webhook() PASSED

UpdateNotificationConfigRequestTests > Update config should throw exception when invalid json object is passed() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal SmtpAccount() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal Email() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal chime() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal slack() PASSED

UpdateNotificationConfigRequestTests > Update config should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,280][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration
    [2024-06-11T14:30:00,280][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_1, while parsing configuration
    [2024-06-11T14:30:00,281][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_2, while parsing configuration
    [2024-06-11T14:30:00,281][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_3, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should safely ignore extra field in json object() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Chime() STANDARD_OUT
    [2024-06-11T14:30:00,282][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Chime() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Email() STANDARD_OUT
    [2024-06-11T14:30:00,283][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Email() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser slack() STANDARD_OUT
    [2024-06-11T14:30:00,283][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser slack() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser SmtpAccount() STANDARD_OUT
    [2024-06-11T14:30:00,284][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser SmtpAccount() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal microsoft Teams() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize using json object should be equal EmailGroup() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal Chime() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal Email() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal Slack() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal Microsoft Teams() PASSED

UpdateNotificationConfigRequestTests > Update config serialize and deserialize transport object should be equal Webhook() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser webhook() STANDARD_OUT
    [2024-06-11T14:30:00,288][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser webhook() PASSED

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Email Group() STANDARD_OUT
    [2024-06-11T14:30:00,288][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

UpdateNotificationConfigRequestTests > Update config should deserialize json object using parser Email Group() PASSED

UpdateNotificationConfigResponseTests > Update response should deserialize json object using parser() PASSED

UpdateNotificationConfigResponseTests > Update response should throw exception when invalid json object is passed() PASSED

UpdateNotificationConfigResponseTests > Update response serialize and deserialize transport object should be equal() PASSED

UpdateNotificationConfigResponseTests > Update response should throw exception when configId is replace with configId2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,291][INFO ][o.o.c.n.a.UpdateNotificationConfigResponse] [[Test worker]] Unexpected field: config_id2, while parsing UpdateNotificationConfigResponse

UpdateNotificationConfigResponseTests > Update response should throw exception when configId is replace with configId2 in json object() PASSED

UpdateNotificationConfigResponseTests > Update response serialize and deserialize using json object should be equal() PASSED

UpdateNotificationConfigResponseTests > Update response should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,293][INFO ][o.o.c.n.a.UpdateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_1, while parsing UpdateNotificationConfigResponse
    [2024-06-11T14:30:00,293][INFO ][o.o.c.n.a.UpdateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_2, while parsing UpdateNotificationConfigResponse
    [2024-06-11T14:30:00,293][INFO ][o.o.c.n.a.UpdateNotificationConfigResponse] [[Test worker]] Unexpected field: extra_field_3, while parsing UpdateNotificationConfigResponse

UpdateNotificationConfigResponseTests > Update response should safely ignore extra field in json object() PASSED

AttachmentTests > Attachment Json parsing should throw exception if file_encoding is absent() PASSED

AttachmentTests > Attachment Json parsing should safely ignore extra fields() STANDARD_OUT
    [2024-06-11T14:30:00,295][INFO ][o.o.c.n.m.Attachment     ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,295][INFO ][o.o.c.n.m.Attachment     ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,295][INFO ][o.o.c.n.m.Attachment     ] [[Test worker]] Skipping Unknown field extra_field_3

AttachmentTests > Attachment Json parsing should safely ignore extra fields() PASSED

AttachmentTests > Attachment Object serialize and deserialize using transport should be equal() PASSED

AttachmentTests > Attachment Json parsing should throw exception if file_name is absent() PASSED

AttachmentTests > Attachment Json parsing should throw exception if file_data is absent() PASSED

AttachmentTests > Attachment Object serialize and deserialize using json should be equal() PASSED

AttachmentTests > Attachment Json parsing should safely ignore null content type() PASSED

ChannelListTests > Feature Channel List serialize and deserialize multiple object with default values should be equal() PASSED

ChannelListTests > Feature Channel List serialize and deserialize using json with multiple object should be equal() PASSED

ChannelListTests > Channel List should throw exception if channel_list is absent in json() PASSED

ChannelListTests > Feature Channel List should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,298][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,298][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,298][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_3

ChannelListTests > Feature Channel List should safely ignore extra field in json object() PASSED

ChannelListTests > Feature Channel List serialize and deserialize with multiple object should be equal() PASSED

ChannelListTests > Feature Channel List serialize and deserialize using transport should be equal() PASSED

ChannelListTests > Feature Channel List serialize and deserialize using json should be equal() PASSED

ChannelListTests > Feature Channel List should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() PASSED

ChannelMessageTests > ChannelMessage Json parsing should throw exception if text_description is absent() PASSED

ChannelMessageTests > ChannelMessage Json parsing should safely ignore extra fields() STANDARD_OUT
    [2024-06-11T14:30:00,301][INFO ][o.o.c.n.m.ChannelMessage ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,301][INFO ][o.o.c.n.m.ChannelMessage ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,301][INFO ][o.o.c.n.m.ChannelMessage ] [[Test worker]] Skipping Unknown field extra_field_3

ChannelMessageTests > ChannelMessage Json parsing should safely ignore extra fields() PASSED

ChannelMessageTests > ChannelMessage Json parsing should throw exception if text_description is empty() PASSED

ChannelMessageTests > ChannelMessage Json parsing should safely ignore both missing html_description and attachment() PASSED

ChannelMessageTests > ChannelMessage Object serialize and deserialize using json should be equal() PASSED

ChannelMessageTests > ChannelMessage Object serialize and deserialize using transport should be equal() PASSED

ChannelMessageTests > ChannelMessage Json parsing should safely ignore missing html description() PASSED

ChannelMessageTests > ChannelMessage Json parsing should safely ignore missing attachment() PASSED

ChannelTests > Channel Object serialize and deserialize using json should be equal() PASSED

ChannelTests > Channel Object serialize and deserialize using transport should be equal() PASSED

ChannelTests > Channel Json parsing should throw exception if config_id is absent() PASSED

ChannelTests > Channel Json parsing should throw exception if name is absent() PASSED

ChannelTests > Channel Json parsing should safely parse if is_enabled is absent() PASSED

ChannelTests > Channel Json parsing should safely parse if description is absent() PASSED

ChannelTests > Channel Json parsing should throw exception if name is empty() PASSED

ChannelTests > Channel Json parsing should safely ignore extra fields() STANDARD_OUT
    [2024-06-11T14:30:00,306][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_1, while parsing Channel
    [2024-06-11T14:30:00,306][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_2, while parsing Channel
    [2024-06-11T14:30:00,306][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_3, while parsing Channel

ChannelTests > Channel Json parsing should safely ignore extra fields() PASSED

ChannelTests > Channel Json parsing should throw exception if config_id is empty() PASSED

ChannelTests > Channel Json parsing should safely ignore unknown config type() PASSED

ChannelTests > Channel Json parsing should throw exception if config_type is absent() PASSED

ChimeTests > Chime should throw exception when invalid json object is passed() PASSED

ChimeTests > Chime serialize and deserialize transport object should be equal() PASSED

ChimeTests > Chime should throw exception when url is replace with url2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,311][INFO ][o.o.c.n.m.Chime          ] [[Test worker]] Unexpected field: url2, while parsing Chime destination

ChimeTests > Chime should throw exception when url is replace with url2 in json object() PASSED

ChimeTests > Chime should deserialize json object using parser() PASSED

ChimeTests > Chime should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,313][INFO ][o.o.c.n.m.Chime          ] [[Test worker]] Unexpected field: another, while parsing Chime destination

ChimeTests > Chime should safely ignore extra field in json object() PASSED

ChimeTests > Chime serialize and deserialize using json object should be equal() PASSED

ChimeTests > Chime should throw exception when url is not proper() PASSED

ChimeTests > Chime should throw exception when url protocol is not https or http() PASSED

ConfigTypeTests > fromTagOrDefault should return corresponding enum() PASSED

ConfigTypeTests > toString should return tag() PASSED

ConfigTypeTests > EnumParser fromTagOrDefault should return corresponding enum() PASSED

DeliveryStatusTests > DeliveryStatus should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,318][INFO ][o.o.c.n.m.DeliveryStatus ] [[Test worker]] Unexpected field: extra, while parsing deliveryStatus

DeliveryStatusTests > DeliveryStatus should safely ignore extra field in json object() PASSED

DeliveryStatusTests > DeliveryStatus serialize and deserialize using json should be equal() PASSED

DeliveryStatusTests > DeliveryStatus should throw exception when invalid json object is passed() PASSED

DeliveryStatusTests > DeliveryStatus serialize and deserialize should be equal() PASSED

EmailGroupTests > EmailGroup should throw exception when invalid json object is passed() PASSED

EmailGroupTests > EmailGroup serialize and deserialize transport object should be equal() PASSED

EmailGroupTests > EmailGroup serialize and deserialize using json object should be equal() PASSED

EmailGroupTests > EmailGroup should throw exception when recipients is replaced with recipients2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,322][INFO ][o.o.c.n.m.EmailGroup     ] [[Test worker]] Unexpected field: recipient_list2, while parsing EmailGroup

EmailGroupTests > EmailGroup should throw exception when recipients is replaced with recipients2 in json object() PASSED

EmailGroupTests > EmailGroup should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,324][INFO ][o.o.c.n.m.EmailGroup     ] [[Test worker]] Unexpected field: extra_field_1, while parsing EmailGroup
    [2024-06-11T14:30:00,324][INFO ][o.o.c.n.m.EmailGroup     ] [[Test worker]] Unexpected field: extra_field_2, while parsing EmailGroup
    [2024-06-11T14:30:00,324][INFO ][o.o.c.n.m.EmailGroup     ] [[Test worker]] Unexpected field: extra_field_3, while parsing EmailGroup

EmailGroupTests > EmailGroup should safely ignore extra field in json object() PASSED

EmailGroupTests > EmailGroup should deserialize json object using parser() PASSED

EmailRecipientStatusTests > EmailRecipientStatus serialize and deserialize should be equal() PASSED

EmailRecipientStatusTests > EmailRecipientStatus should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,328][INFO ][o.o.c.n.m.EmailRecipientStatus] [[Test worker]] Unexpected field: extra, while parsing Email Recipient Status

EmailRecipientStatusTests > EmailRecipientStatus should safely ignore extra field in json object() PASSED

EmailRecipientStatusTests > EmailRecipientStatus serialize and deserialize using json should be equal() PASSED

EmailRecipientStatusTests > EmailRecipientStatus should throw exception when invalid json object is passed() PASSED

EmailRecipientStatusTests > EmailRecipientStatus should throw exception for invalid recipient() PASSED

EmailRecipientTests > EmailRecipient should throw exception when invalid json object is passed() PASSED

EmailRecipientTests > EmailRecipient should throw exception when recipients is replaced with recipients2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,332][INFO ][o.o.c.n.m.EmailRecipient ] [[Test worker]] Unexpected field: recipient2, while parsing EmailRecipient

EmailRecipientTests > EmailRecipient should throw exception when recipients is replaced with recipients2 in json object() PASSED

EmailRecipientTests > EmailRecipient serialize and deserialize transport object should be equal() PASSED

EmailRecipientTests > EmailRecipient should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,334][INFO ][o.o.c.n.m.EmailRecipient ] [[Test worker]] Unexpected field: extra_field_1, while parsing EmailRecipient
    [2024-06-11T14:30:00,334][INFO ][o.o.c.n.m.EmailRecipient ] [[Test worker]] Unexpected field: extra_field_2, while parsing EmailRecipient
    [2024-06-11T14:30:00,334][INFO ][o.o.c.n.m.EmailRecipient ] [[Test worker]] Unexpected field: extra_field_3, while parsing EmailRecipient

EmailRecipientTests > EmailRecipient should safely ignore extra field in json object() PASSED

EmailRecipientTests > EmailRecipient should deserialize json object using parser() PASSED

EmailRecipientTests > EmailRecipient serialize and deserialize using json object should be equal() PASSED

EmailRecipientTests > EmailRecipient should accept valid email address() PASSED

EmailRecipientTests > EmailRecipient should throw exception for invalid email address() PASSED

EmailTests > Email should deserialize json object using parser() PASSED

EmailTests > Email should throw exception when invalid json object is passed() PASSED

EmailTests > Email should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,342][INFO ][o.o.c.n.m.Email          ] [[Test worker]] Unexpected field: recipient_list2, while parsing Email
    [2024-06-11T14:30:00,343][INFO ][o.o.c.n.m.Email          ] [[Test worker]] Unexpected field: email_group_id_list2, while parsing Email
    [2024-06-11T14:30:00,343][INFO ][o.o.c.n.m.Email          ] [[Test worker]] Unexpected field: another, while parsing Email

EmailTests > Email should safely ignore extra field in json object() PASSED

EmailTests > Email serialize and deserialize transport object should be equal() PASSED

EmailTests > Email should throw exception when emailAccountID is replaced with emailAccountID2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,344][INFO ][o.o.c.n.m.Email          ] [[Test worker]] Unexpected field: email_account_id2, while parsing Email

EmailTests > Email should throw exception when emailAccountID is replaced with emailAccountID2 in json object() PASSED

EmailTests > Email should accept without defaultRecipients and defaultEmailGroupIds in json object() PASSED

EmailTests > Email serialize and deserialize using json object should be equal() PASSED

EventSourceTests > Event source serialize and deserialize using json should be equal() PASSED

EventSourceTests > Event source throw exception if name is empty() PASSED

EventSourceTests > Event source should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,346][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: feature, while parsing EventSource
    [2024-06-11T14:30:00,347][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: extra_field_1, while parsing EventSource
    [2024-06-11T14:30:00,347][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: extra_field_2, while parsing EventSource
    [2024-06-11T14:30:00,347][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: extra_field_3, while parsing EventSource

EventSourceTests > Event source should safely ignore extra field in json object() PASSED

EventSourceTests > Event source serialize and deserialize should be equal() PASSED

EventSourceTests > Event source should safely accepts unknown feature type in json object() STANDARD_OUT
    [2024-06-11T14:30:00,347][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: feature, while parsing EventSource

EventSourceTests > Event source should safely accepts unknown feature type in json object() PASSED

EventStatusTests > Event throw exception if deliveryStatus is empty for config type Chime() PASSED

EventStatusTests > Event throw exception if deliveryStatus is empty for config type Slack() PASSED

EventStatusTests > Event should throw exception when invalid json object is passed() PASSED

EventStatusTests > Event throw exception if deliveryStatus is empty for config type Webhook() PASSED

EventStatusTests > Event Status serialize and deserialize using json should be equal() PASSED

EventStatusTests > Event Status should throw exception when config type is email with empty emailRecipientList() PASSED

EventStatusTests > Event throw exception if emailRecipientStatus is empty for config type Email() PASSED

EventStatusTests > Event throw exception if deliveryStatus is empty for config type MicrosoftTeams() PASSED

EventStatusTests > Event Status serialize and deserialize should be equal() PASSED

EventStatusTests > Event Status should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,353][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_1, while parsing EventStatus
    [2024-06-11T14:30:00,353][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_2, while parsing EventStatus
    [2024-06-11T14:30:00,353][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: extra_field_3, while parsing EventStatus

EventStatusTests > Event Status should safely ignore extra field in json object() PASSED

FilterConfigListTests > Search result should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,354][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,354][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,354][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_3

FilterConfigListTests > Search result should safely ignore extra field in json object() PASSED

FilterConfigListTests > Search result serialize and deserialize with multiple config object should be equal() PASSED

FilterConfigListTests > Search result should throw exception if channelList is absent in json() PASSED

FilterConfigListTests > Search result serialize and deserialize with config object should be equal() PASSED

FilterConfigListTests > Search result serialize and deserialize using json config object should be equal() PASSED

FilterConfigListTests > Search result should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() PASSED

FilterConfigListTests > Search result serialize and deserialize using json with multiple config object should be equal() PASSED

FilterConfigListTests > Search result should use isEnabled=true if absent in json object() PASSED

FilterConfigTests > Config throw exception if configId is empty() PASSED

FilterConfigTests > Config serialize and deserialize using json object with default isEnabled flag should be equal() PASSED

FilterConfigTests > Config serialize and deserialize using json object with isEnabled=false should be equal() PASSED

FilterConfigTests > Config serialize and deserialize with default isEnabled flag should be equal() PASSED

FilterConfigTests > Config serialize and deserialize with isEnabled=false should be equal() PASSED

FilterConfigTests > Config throw exception if name is empty() PASSED

FilterConfigTests > Config should safely ignore unknown config type in json object() PASSED

FilterConfigTests > Config should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,359][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_1, while parsing Channel
    [2024-06-11T14:30:00,359][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_2, while parsing Channel
    [2024-06-11T14:30:00,359][INFO ][o.o.c.n.m.Channel        ] [[Test worker]] Unexpected field: extra_field_3, while parsing Channel

FilterConfigTests > Config should safely ignore extra field in json object() PASSED

MethodTypeTests > fromTagOrDefault should return corresponding enum() PASSED

MethodTypeTests > toString should return tag() PASSED

MethodTypeTests > EnumParser fromTagOrDefault should return corresponding enum() PASSED

MicrosoftTeamsTests > Microsoft Teams should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,362][INFO ][o.o.c.n.m.MicrosoftTeams ] [[Test worker]] Unexpected field: another, while parsing MicrosoftTeams destination

MicrosoftTeamsTests > Microsoft Teams should safely ignore extra field in json object() PASSED

MicrosoftTeamsTests > Microsoft Teams should throw exception when url protocol is not https or http() PASSED

MicrosoftTeamsTests > Microsoft Teams serialize and deserialize using json object should be equal() PASSED

MicrosoftTeamsTests > Microsoft Teams should deserialize json object using parser() PASSED

MicrosoftTeamsTests > Microsoft Teams should throw exception when invalid json object is passed() PASSED

MicrosoftTeamsTests > Microsoft Teams should throw exception when url is not proper() PASSED

MicrosoftTeamsTests > Microsoft Teams serialize and deserialize transport object should be equal() PASSED

MicrosoftTeamsTests > Microsoft Teams should throw exception when url is replace with url2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,367][INFO ][o.o.c.n.m.MicrosoftTeams ] [[Test worker]] Unexpected field: url2, while parsing MicrosoftTeams destination

MicrosoftTeamsTests > Microsoft Teams should throw exception when url is replace with url2 in json object() PASSED

NotificationConfigInfoTests > Config info should throw exception if configId is empty() PASSED

NotificationConfigInfoTests > Config info should throw exception if createdTimeMs is absent in json() STANDARD_OUT
    [2024-06-11T14:30:00,370][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

NotificationConfigInfoTests > Config info should throw exception if createdTimeMs is absent in json() PASSED

NotificationConfigInfoTests > Config info serialize and deserialize using json config object should be equal() PASSED

NotificationConfigInfoTests > Config info should throw exception if lastUpdatedTimeMs is absent in json() STANDARD_OUT
    [2024-06-11T14:30:00,371][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

NotificationConfigInfoTests > Config info should throw exception if lastUpdatedTimeMs is absent in json() PASSED

NotificationConfigInfoTests > Config info should throw exception if configId is absent in json() STANDARD_OUT
    [2024-06-11T14:30:00,371][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

NotificationConfigInfoTests > Config info should throw exception if configId is absent in json() PASSED

NotificationConfigInfoTests > Config info should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,372][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration
    [2024-06-11T14:30:00,372][INFO ][o.o.c.n.m.NotificationConfigInfo] [[Test worker]] Unexpected field: extra_field_1, while parsing configuration
    [2024-06-11T14:30:00,372][INFO ][o.o.c.n.m.NotificationConfigInfo] [[Test worker]] Unexpected field: extra_field_2, while parsing configuration
    [2024-06-11T14:30:00,372][INFO ][o.o.c.n.m.NotificationConfigInfo] [[Test worker]] Unexpected field: extra_field_3, while parsing configuration

NotificationConfigInfoTests > Config info should safely ignore extra field in json object() PASSED

NotificationConfigInfoTests > Config info serialize and deserialize with config object should be equal() PASSED

NotificationConfigInfoTests > Config info should throw exception if notificationConfig is absent in json() PASSED

NotificationConfigSearchResultsTests > Search result should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,374][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration
    [2024-06-11T14:30:00,374][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_1
    [2024-06-11T14:30:00,374][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_2
    [2024-06-11T14:30:00,374][INFO ][o.o.c.n.m.SearchResults  ] [[Test worker]] Skipping Unknown field extra_field_3

NotificationConfigSearchResultsTests > Search result should safely ignore extra field in json object() PASSED

NotificationConfigSearchResultsTests > Search result serialize and deserialize with multiple config default values should be equal() PASSED

NotificationConfigSearchResultsTests > Search result serialize and deserialize with multiple config object should be equal() PASSED

NotificationConfigSearchResultsTests > Search result should throw exception if notificationConfigs is absent in json() PASSED

NotificationConfigSearchResultsTests > Search result serialize and deserialize with config object should be equal() PASSED

NotificationConfigSearchResultsTests > Search result serialize and deserialize using json config object should be equal() PASSED

NotificationConfigSearchResultsTests > Search result should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() STANDARD_OUT
    [2024-06-11T14:30:00,377][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

NotificationConfigSearchResultsTests > Search result should safely fallback to default if startIndex, totalHits or totalHitRelation field absent in json object() PASSED

NotificationConfigSearchResultsTests > Search result serialize and deserialize using json with multiple config object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json smtpAccount object should be equal() PASSED

NotificationConfigTests > Config should safely accepts unknown feature type in json object() STANDARD_OUT
    [2024-06-11T14:30:00,379][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration

NotificationConfigTests > Config should safely accepts unknown feature type in json object() PASSED

NotificationConfigTests > Config serialize and deserialize with smtpAccount object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with webhook object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json emailGroup object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with emailGroup object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with slack object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json microsoft teams object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with email object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json email object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json webhook object should be equal() PASSED

NotificationConfigTests > Config should safely ignore unknown config type in json object() STANDARD_OUT
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Some config field not recognized
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: feature_list, while parsing configuration
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: chime, while parsing configuration
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: webhook, while parsing configuration
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: new_config1, while parsing configuration
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Unexpected field: new_config2, while parsing configuration
    [2024-06-11T14:30:00,382][INFO ][o.o.c.n.m.NotificationConfig] [[Test worker]] Some config field not recognized

NotificationConfigTests > Config should safely ignore unknown config type in json object() PASSED

NotificationConfigTests > Config serialize and deserialize with chime object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with json chime object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize using json slack object should be equal() PASSED

NotificationConfigTests > Config serialize and deserialize with microsoft teams object should be equal() PASSED

NotificationEventTests > Notification event throw exception if status_list is absent() STANDARD_OUT
    [2024-06-11T14:30:00,385][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: feature, while parsing EventSource

NotificationEventTests > Notification event throw exception if status_list is absent() PASSED

NotificationEventTests > Notification event serialize and deserialize using json should be equal() PASSED

NotificationEventTests > Notification event throw exception if status_list is empty() STANDARD_OUT
    [2024-06-11T14:30:00,386][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: feature, while parsing EventSource

NotificationEventTests > Notification event throw exception if status_list is empty() PASSED

NotificationEventTests > Notification event should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,387][INFO ][o.o.c.n.m.EventSource    ] [[Test worker]] Unexpected field: feature, while parsing EventSource
    [2024-06-11T14:30:00,387][INFO ][o.o.c.n.m.NotificationEvent] [[Test worker]] Unexpected field: extra_field_1, while parsing notification event
    [2024-06-11T14:30:00,387][INFO ][o.o.c.n.m.NotificationEvent] [[Test worker]] Unexpected field: extra_field_2, while parsing notification event
    [2024-06-11T14:30:00,387][INFO ][o.o.c.n.m.NotificationEvent] [[Test worker]] Unexpected field: extra_field_3, while parsing notification event

NotificationEventTests > Notification event should safely ignore extra field in json object() PASSED

NotificationEventTests > Notification event throw exception if event source is absent() PASSED

NotificationEventTests > Notification event serialize and deserialize should be equal() PASSED

SesAccountTests > SES should deserialize json object using parser() PASSED

SesAccountTests > SES should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,390][INFO ][o.o.c.n.m.SesAccount     ] [[Test worker]] Unexpected field: extra_field_1, while parsing SesAccount
    [2024-06-11T14:30:00,390][INFO ][o.o.c.n.m.SesAccount     ] [[Test worker]] Unexpected field: extra_field_2, while parsing SesAccount
    [2024-06-11T14:30:00,390][INFO ][o.o.c.n.m.SesAccount     ] [[Test worker]] Unexpected field: extra_field_3, while parsing SesAccount

SesAccountTests > SES should safely ignore extra field in json object() PASSED

SesAccountTests > SES should throw exception when from_address is replace with from_address2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,391][INFO ][o.o.c.n.m.SesAccount     ] [[Test worker]] Unexpected field: from_address2, while parsing SesAccount

SesAccountTests > SES should throw exception when from_address is replace with from_address2 in json object() PASSED

SesAccountTests > SES should throw exception if empty region() PASSED

SesAccountTests > SES should throw exception when region is replace with region2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,393][INFO ][o.o.c.n.m.SesAccount     ] [[Test worker]] Unexpected field: region2, while parsing SesAccount

SesAccountTests > SES should throw exception when region is replace with region2 in json object() PASSED

SesAccountTests > SES should deserialize json object will null role_arn using parser() PASSED

SesAccountTests > SES should throw exception when email id is invalid() PASSED

SesAccountTests > SES serialize and deserialize using json object should be equal with null roleArn() PASSED

SesAccountTests > SES should deserialize json object will missing role_arn using parser() PASSED

SesAccountTests > SES should throw exception if invalid role ARN() PASSED

SesAccountTests > SES serialize and deserialize transport object should be equal() PASSED

SesAccountTests > SES serialize and deserialize using json object should be equal() PASSED

SesAccountTests > SES should throw exception when invalid json object is passed() PASSED

SeverityTypeTests > fromTagOrDefault should return corresponding enum() PASSED

SeverityTypeTests > toString should return tag() PASSED

SeverityTypeTests > EnumParser fromTagOrDefault should return corresponding enum() PASSED

SlackTests > Slack should throw exception when url is replace with url2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,400][INFO ][o.o.c.n.m.Slack          ] [[Test worker]] Unexpected field: url2, while parsing Slack destination

SlackTests > Slack should throw exception when url is replace with url2 in json object() PASSED

SlackTests > Slack serialize and deserialize transport object should be equal() PASSED

SlackTests > Slack should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,401][INFO ][o.o.c.n.m.Slack          ] [[Test worker]] Unexpected field: another, while parsing Slack destination

SlackTests > Slack should safely ignore extra field in json object() PASSED

SlackTests > Slack should throw exception when url is not proper() PASSED

SlackTests > Slack serialize and deserialize using json object should be equal() PASSED

SlackTests > Slack should throw exception when url protocol is not https or http() PASSED

SlackTests > Slack should throw exception when invalid json object is passed() PASSED

SlackTests > Slack should deserialize json object using parser() PASSED

SmtpAccountTests > SmtpAccount should throw exception when email id is invalid() PASSED

SmtpAccountTests > SmtpAccount should deserialize json object using parser() PASSED

SmtpAccountTests > SmtpAccount serialize and deserialize using json object should be equal() PASSED

SmtpAccountTests > SmtpAccount should throw exception when invalid json object is passed() PASSED

SmtpAccountTests > SmtpAccount serialize and deserialize transport object should be equal() PASSED

SmtpAccountTests > SmtpAccount should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,410][INFO ][o.o.c.n.m.SmtpAccount    ] [[Test worker]] Unexpected field: extra_field_1, while parsing SmtpAccount
    [2024-06-11T14:30:00,410][INFO ][o.o.c.n.m.SmtpAccount    ] [[Test worker]] Unexpected field: extra_field_2, while parsing SmtpAccount

SmtpAccountTests > SmtpAccount should safely ignore extra field in json object() PASSED

SnsTests > SNS serialize and deserialize using json object should be equal() PASSED

SnsTests > SNS should throw exception if empty topic() PASSED

SnsTests > SNS should throw exception if invalid role ARN() PASSED

SnsTests > SNS should throw exception when invalid json object is passed() PASSED

SnsTests > SNS serialize and deserialize transport object should be equal() PASSED

SnsTests > test SNS correctly validates SNS FIFO topic ARN() PASSED

SnsTests > SNS should deserialize json object using parser() PASSED

SnsTests > SNS should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,414][INFO ][o.o.c.n.m.Sns            ] [[Test worker]] Unexpected field: another, while parsing SNS destination

SnsTests > SNS should safely ignore extra field in json object() PASSED

SnsTests > SNS should throw exception when arn is replace with arn2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,415][INFO ][o.o.c.n.m.Sns            ] [[Test worker]] Unexpected field: topic_arn2, while parsing SNS destination

SnsTests > SNS should throw exception when arn is replace with arn2 in json object() PASSED

SnsTests > SNS should throw exception if invalid topic ARN() PASSED

WebhookTests > Webhook serialize and deserialize transport object should be equal() PASSED

WebhookTests > Webhook should safely ignore extra field in json object() STANDARD_OUT
    [2024-06-11T14:30:00,416][INFO ][o.o.c.n.m.Webhook        ] [[Test worker]] Unexpected field: another, while parsing Webhook destination

WebhookTests > Webhook should safely ignore extra field in json object() PASSED

WebhookTests > Webhook should throw exception when url is not proper() PASSED

WebhookTests > Webhook should deserialize json object using parser() PASSED

WebhookTests > Webhook should throw exception when invalid json object is passed() PASSED

WebhookTests > Webhook should throw exception when url is replace with url2 in json object() STANDARD_OUT
    [2024-06-11T14:30:00,419][INFO ][o.o.c.n.m.Webhook        ] [[Test worker]] Unexpected field: url2, while parsing Webhook destination

WebhookTests > Webhook should throw exception when url is replace with url2 in json object() PASSED

WebhookTests > Webhook should throw exception when url protocol is not https or http() PASSED

WebhookTests > Webhook serialize and deserialize using json object should be equal() PASSED

ConfigPropertiesTests > Validate config data parse EmailGroup() PASSED

ConfigPropertiesTests > Validate config property reader webhook() PASSED

ConfigPropertiesTests > Validate config data parse SmtpAccount() PASSED

ConfigPropertiesTests > Validate config property reader SmtpAccount() PASSED

ConfigPropertiesTests > Validate config data parse chime() PASSED

ConfigPropertiesTests > Validate config data parse slack() PASSED

ConfigPropertiesTests > Validate config property reader Microsoft Teams() PASSED

ConfigPropertiesTests > Validate config data parse Microsoft Teams() PASSED

ConfigPropertiesTests > Validate config data parse webhook() PASSED

ConfigPropertiesTests > Validate config property reader chime() PASSED

ConfigPropertiesTests > Validate config property reader email() PASSED

ConfigPropertiesTests > Validate config property reader slack() PASSED

ConfigPropertiesTests > Validate config property reader EmailGroup() PASSED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.4/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 9s
12 actionable tasks: 4 executed, 8 up-to-date
opensearch-trigger-bot[bot] commented 5 months ago

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/common-utils/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/common-utils/backport-2.x
# Create a new branch
git switch --create backport-671-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 573cbf2241c1ccc018818b5940e141e6065d827e
# Push it to GitHub
git push --set-upstream origin backport-671-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/common-utils/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport-671-to-2.x.