Video encoding requirements?

Describe the problem
I'd like to set up my own video by ripping some old DVD, and I wonder if there are any requirements in terms of encoding? Especially:

I noticed that Videos/test.mp4 is rather large (1280x688) and I wonder if this might require unnecessary CPU load on a Pi, I guess the video might as well be fitting the screen? Or are there any implications?
Videos/test.mp4 has audio and this might be skipped as well? Or are there any implications?
Is there a recommended codec, bitrate, compression, ...? One that works better/worse on the Waveshare display, one that performs better/worse on limited CPU power, ...

Platform Information
Raspberry Pi Zero 2 W, Pi OS Lite (32 bit, 2023-05-03), current Python

Ouch – yes, of course! Sorry, I only searched the Readme.


Uncaught Error: EEXIST: file already exists, mkdir '~/Desktop\Project\RayFung Development\razysys...

[Enter steps to reproduce:]

Double Click on remote-FTP file
It happened.

Atom: 1.18.0 x64
Electron: 1.3.15
OS: WIndows 10
Thrown From: Remote-FTP package 1.1.4
Stack Trace
Uncaught Error: EEXIST: file already exists, mkdir 'C:\Users\RayFung\Desktop\Project\RayFung Development\razysystem\module\operation\stockmapping\controller'
At C:\Users\RayFung\.atom\packages\Remote-FTP\node_modules\mkdirp\index.js:92

Error: EEXIST: file already exists, mkdir 'C:\Users\RayFung\Desktop\Project\RayFung Development\razysystem\module\operation\stockmapping\controller'
    at Error (native)
    at fs.mkdirSync (fs.js:922:18)
    at Object.fs.mkdirSync (ELECTRON_ASAR.js:665:16)
    at Function.sync (/packages/Remote-FTP/node_modules/mkdirp/index.js:71:13)
    at Proxy.makeTreeSync (/packages/Remote-FTP/node_modules/fs-plus/lib/fs-plus.js:385:23)
    at ConnectorFTP._getFile (/packages/remote-ftp/lib/connectors/ftp.js:200:8)
    at /packages/remote-ftp/lib/connectors/ftp.js:342:14
    at /packages/remote-ftp/lib/connectors/ftp.js:192:7
    at tryApply (/packages/remote-ftp/lib/connectors/ftp.js:12:14)
    at /packages/remote-ftp/lib/connectors/ftp.js:175:7
    at Object.cb (/packages/Remote-FTP/node_modules/@icetee/ftp/lib/connection.js:526:13)
    at /packages/Remote-FTP/node_modules/@icetee/ftp/lib/connection.js:117:22)
    at emitTwo (events.js:111:20)
    at Parser.emit (events.js:191:7)
    at Parser._write (/packages/Remote-FTP/node_modules/@icetee/ftp/lib/parser.js:61:10)
    at doWrite (_stream_writable.js:307:12)
    at writeOrBuffer (_stream_writable.js:293:5)
    at Parser.Writable.write (_stream_writable.js:220:11)
    at Socket.ondata (/packages/Remote-FTP/node_modules/@icetee/ftp/lib/connection.js:290:20)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at TCP.onread (net.js:543:20)

Commands

Non-Core Packages
Remote-FTP 1.1.4

Ok, there is a bug that you do following procedure

"Create File" call abc
Delete abc file
"Create Folder" call abc
Failed on FS.makeTreeSync, because the local folder has created a abc file, conflict with abc folder on server side.

Solve:
delete the abc file on your local folder

Related of #923


BE: Chore: use enhanced switch

A small change to take advantage of newer language features
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

[x] Unit checks

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
[x] My changes generate no new warnings (e.g. Sonar is happy)
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged

A picture of a cute animal (not mandatory but encouraged)

@Haarolean Can we merge this? It should be ready to go as far as I know


Support environment markers for python_requires

To my understanding, it is currently not possible to specify different values of python_requires that depend on environment markers.
An example use case is my mplcairo package (https://pypi.org/project/mplcairo/), which supports Py>=3.4 on Unices but Py>=3.6 on Windows (because its build requires a recent C++ compiler, namely MSVC2017 on Windows, but distutils is able to use MSVC2017 only since Py3.6.4 -- https://github.com/anntzer/mplcairo#windows).  Ideally, I'd like to specify something like
python_requires=[">=3.4; os_name == 'posix'", ">=3.6; os_name == 'windows'"]

From a quick look at PEP345, I guess this implies making the Requires-Python metadata field a multiple-use field with support for environment markers.
(Not sure if this belongs to the setuptools tracker or somewhere else.)

I think this is best suited for https://github.com/pypa/packaging-problems since all the relevant packaging tools need to agree on this.
On its surface it seems reasonable to me. It's been a while since I've looked at the relevant PEP, but it may be worth looking into pinning to different versions depending on the interpreter used as well (pypy, jython, etc), if that's not already in there.

Though also python_requires is a single string, not a list, I believe. How that affects the syntax I'm not sure.

I'd switch it to a list, and support string meaning list-with-one-string.  Not the most elegant but heh.

Moved discussion to https://github.com/pypa/packaging-problems/issues/209, thanks for the pointer.


Adding support for Cypress

Cypress requires some additional dependencies to run in a CI environment: https://docs.cypress.io/guides/guides/continuous-integration.html#Dependencies
Added them to the build image.

CI Build Link:
https://jenkins.swinfra.net/job/SEPG/job/UXAspects/job/UXAspects~buildenv-node12-image~adding-cypress-support~CI


[Feature] Displaying Studio count on channels in Studio system

Basically on this page, display the studio count in the odometer lol

closed by e99df2b


Adding EntityType to Comment Model

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

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

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.

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


Fix incorrect path used to run interactive tests

Interactive is a native app so can be run directly. It was being run
with mono so the process was exiting with an error and the tests never
finished:
[fsharpi] don't know how to process command Cannot open assembly
'tests/FSharpInteractive/Monodevelop.FSharpInteractive.Service':
File does not contain a valid CIL image.

This is the wrong base branch. It should be based on https://github.com/xamarin/visualfsharp/blob/fsharp-editor/vsintegration/src/FSharp.Editor/VSMac/InteractiveSession.fs which already contains this fix :)

Not sure exactly how we ended up using origin/dev/sevoku/pyro-xcode12-xm7-build-bin as the base branch, but we should use fsharp-editor and make sure all commits from the other branch are in it.

Yeah - I was basing this off the branch we are currently using. I had a look at the fsharp-editor branch but it is missing some commits from here. So was not sure :)

Will create a new PR in a few minutes :)

Updated this PR to pull in the changes from sevo's branch into fsharp-editor. Tests pass locally - just waiting to see if they pass on CI here - https://github.com/xamarin/vsmac/pull/3920

F# tests are green for vsmac.


Remove insight folder in SDK (including tests)

Remove metrics and related files from the synthesized.

Closing this PR as it remains out of scope of this repository.


[WIP] Add extend_breaks

/cc @gpetiot

On second thought, I'm not entirely sure this is the right solution in general. I wanted this to make the printing of makefiles via dune rules -m simpler, but it might be better to let the client code emit custom breaks.


Adds details of brotli to the changes

it also removes some stuff from the readme.md that was
outdated

closes #248


"Jump to unread messages" shortcut in inbox

If there are unread messages below your current position in the inbox, this renders an orange banner at the bottom that you can tap to scroll down to them. Desktop + mobile. r? @keybase/react-hackers

This animates the scroll on mobile but not on desktop. I can get a PR up to animate the desktop side after this.

rebased to pick up #16613 and tweaked the scrollTo params

code lgtm but it doesn't handle the case of a new message coming in and triggering it. you have to scroll for it to show up. aka i get a notification for a message yet no banner. scroll a pixel and it shows


feat(decommission-gh-action): Remove gh-action from build pipeline

Details
This pull request will remove the GitHub action from the build pipeline.
Motivation

Context

From what I understand, the gh-action was placed in an artifact at drop/packages/gh-action/, while the extension lives in an artifact at ado-extension-drop/pkg/. I removed drop/ directory at the root since that appeared to be for the action only. The REALEASE_COMMIT.md was saved in ado-extension-drop/drop, but I moved that up a directory into ado-extension-drop to prevent added directory structure.

Example of artifact before this PR: https://dev.azure.com/accessibility-insights-private/Accessibility Insights (private)/_build/results?buildId=40217&view=artifacts&pathAsName=false&type=publishedArtifacts
Example of artifact with this PR: https://dev.azure.com/accessibility-insights-private/Accessibility Insights (private)/_build/results?buildId=40348&view=artifacts&pathAsName=false&type=publishedArtifacts

Pull request checklist

[ ] Addresses an existing issue: Fixes #0000
[ ] Added relevant unit test for your changes. (yarn test)
[ ] Verified code coverage for the changes made. Check coverage report at: <rootDir>/test-results/unit/coverage
[ ] Ran precheckin (yarn precheckin)
[ ] Described how this PR impacts both the ADO extension and the GitHub action

Codecov Report

Merging #1448 (26f7515) into main (cf6fa6c) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1448      +/-   ##
==========================================
- Coverage   94.44%   94.43%   -0.02%
==========================================
  Files          38       38
  Lines        1045     1042       -3
  Branches      141      139       -2
==========================================
- Hits          987      984       -3
  Misses         58       58

Impacted Files
Coverage Δ

...es/shared/src/mark-down/result-markdown-builder.ts
100.00% <0.00%> (ø)

.../shared/src/mark-down/report-markdown-convertor.ts
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Allow to automate installation

Allow to provide the only two variables that are requested by the BK admin on installation via env variables.
Please confirm:

[ ] Without new env variables: Installation works as before
[ ] Alternatively, you can set either site or access_token for the install command and the installation won't prompt you anymore.

@TKussel check via VM
@PierreDelpy I'll try it too

@TKussel and @enola-dkfz , friendly reminder


Update python base image dependencies

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

372.7 sqlalchemy 1.4.50 requires greenlet, which is not installed.
372.8 Container does not include required Beam dependencies or has conflicting dependencies. If Beam dependencies have changed, you need to regenerate

The docker precommit is failing due to the above error. I will investigate what that is.

maybe another macos issue?

sqlalchemy installing from MacOS M1 doesn't require greenlet as its dependency but when running on linux it does require greenlet as a dependency.
I will generate these dependencies in linux for now. FYI, I was able to install greenlet on MacOS so I will ask sqlalchemy if this restriction is still valid on their end.

Failing tests are not related to this PR. CC @damccorm( python oncall)  FYI

Looks like it was broken by https://github.com/apache/beam/pull/29777 - checking for a quick fix, if not I'll rollback

Should be fixed by https://github.com/apache/beam/pull/29801

Python Coverage is failing and could be a flake. the scheduled run is green - https://github.com/apache/beam/actions/runs/7249689864/job/19748209860
Anyway I will keep on eye on the scheduled runs. Merging this PR.


Set PyTorch version to 1.8.0

Make conda to use PyTorch version 1.8.0. If not specified, it will use 1.9.0 or more recent, which might be not compatible with the current version of the code.

This is very thoughtful -- thanks @miguelusque!


Error message on level 25

Every time I try to use a tool on level 25, I get an error popup:

GeoGebra - Error
Invalid input: Undefined variable pointT

This popup sometimes requires multiple clicks to close.
Tried with Safari (9.0), Chrome (50.0.2661.102), and Firefox (34.0.5) with no improvement.  Everything appears to function, but it's really annoying.

I'm also getting this error. I went back to level 23 and used a circle there for scratch work because it was disruptive.


set name in pkg.ml

Before this change, trying to topkg distrib fails:
 topkg distrib --dist-version v0.9 --dist-name charrua-core
pkg.ml: [ERROR] cannot determine name automatically.
You must pass a [name] argument to [Topkg_jbuilder.describe] in pkg/pkg.ml
pkg.ml: [ERROR] No package description found. A syntax error may have occured
                or did you forget to call Topkg.Pkg.describe ?
topkg: [ERROR] run ['ocaml' 'pkg/pkg.ml' 'ipc' 'warning'
               '/tmp/topkgbb0031topkg' 'pkg']: exited with 1
               Failed to load package description pkg/pkg.ml

I think this must be user error since the last release was done somehow without this change, but the readme at https://github.com/diml/topkg-jbuilder seems to imply that it would be needed.

I wonder if the last release was done manually?
Anyway, this looks good to me!

Hm, I don't think I've ever done a manual release. Odd this...