Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(c2cuc): add functionality for updating configuration of other components #1577

Draft
wants to merge 3 commits into
base: c2c-update-configuration
Choose a base branch
from

Conversation

aws-kevinrickard
Copy link
Member

Issue #, if available:
GG-44771
GG-44748

Description of changes:

  • use snapshot version of aws-iot-device-sdk for new UpdateConfiguration field
  • add basic functionality for updating configuration of other components
  • add logging
    • of note: I considered whether to put this in the UpdateConfiguration request handler vs in the Authorization handler. I decided on the UpdateConfiguration request handler but am open to changing it- let me know. The point is we want any component-to-component configuration updates to be logged, so that if an unintended configuration update happens it can be traced back to the requesting component.
  • The error message produced by GetConfiguration when a requested component can not be found was misleading as it read Key not found, so I updated it to also use the error message I introduced for UpdateConfiguration when a component is not found.

Why is this change necessary:
As a developer building components to run in Greengrass, I want to update a component A's config from an other component B, so that B can adjust the behavior of A at runtime.

How was this change tested:

  • Updated or added new unit tests.
  • Updated or added new integration tests.
  • Updated or added new end-to-end tests.
  • If my code makes a remote network call, it was tested with a proxy.

Any additional information or context required to review the change:

  • for now, merging to a feature branch (c2c-update-configuration)
  • Authorization changes are necessary for this feature and will follow

Documentation Checklist:

  • Updated the README if applicable.

Compatibility Checklist:

  • I confirm that the change is backwards compatible.
  • Any modification or deletion of public interfaces does not impact other plugin components.
  • For external library version updates, I have reviewed its change logs and Nucleus does not consume
    any deprecated method or type.

Refer to Compatibility Guidelines for more information.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link

github-actions bot commented Feb 9, 2024

Unit Tests Coverage Report

File Coverage Lines Branches
All files 66% 71% 62%
com.aws.greengrass.deployment.activator.DeploymentActivatorFactory 100% 100% 100%
com.aws.greengrass.deployment.activator.KernelUpdateActivator 92% 94% 90%
com.aws.greengrass.deployment.activator.DeploymentActivator 23% 23% 0%
com.aws.greengrass.deployment.activator.DefaultActivator 0% 0% 0%
com.aws.greengrass.authorization.AuthorizationIPCAgent$ValidateAuthorizationTokenOperationHandler 95% 90% 100%
com.aws.greengrass.authorization.AuthorizationPolicyParser$1 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationPolicyParser$2 0% 0% 0%
com.aws.greengrass.authorization.WildcardTrie 97% 98% 95%
com.aws.greengrass.authorization.AuthorizationIPCAgent 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationPolicyParser 84% 91% 77%
com.aws.greengrass.authorization.AuthorizationHandler$ResourceLookupPolicy 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationHandler 86% 94% 78%
com.aws.greengrass.authorization.AuthorizationModule 96% 100% 93%
com.aws.greengrass.authorization.AuthorizationPolicy 100% 100% 0%
com.aws.greengrass.util.IotSdkClientFactory$EnvironmentStage 56% 63% 50%
com.aws.greengrass.util.IotSdkClientFactory 85% 88% 83%
com.aws.greengrass.util.DependencyOrder 100% 100% 100%
com.aws.greengrass.util.SerializerFactory 100% 100% 0%
com.aws.greengrass.util.BaseRetryableAccessor 95% 90% 100%
com.aws.greengrass.util.CommitableWriter 47% 70% 25%
com.aws.greengrass.util.EncryptionUtils$PemWriter 100% 100% 100%
com.aws.greengrass.util.IamSdkClientFactory 100% 100% 0%
com.aws.greengrass.util.OrderedExecutorService$OrderedTask 81% 88% 75%
com.aws.greengrass.util.ProxyUtils 70% 73% 67%
com.aws.greengrass.util.FileSystemPermission$Option 100% 100% 0%
com.aws.greengrass.util.NucleusPaths 94% 94% 0%
com.aws.greengrass.util.Exec 58% 73% 44%
com.aws.greengrass.util.StsSdkClientFactory 0% 0% 0%
com.aws.greengrass.util.MqttChunkedPayloadPublisher 83% 72% 94%
com.aws.greengrass.util.CommitableReader 66% 82% 50%
com.aws.greengrass.util.Utils$1 50% 50% 0%
com.aws.greengrass.util.Utils 79% 82% 76%
com.aws.greengrass.util.AppendableWriter 0% 0% 0%
com.aws.greengrass.util.Digest 83% 91% 75%
com.aws.greengrass.util.OrderedExecutorService 82% 81% 83%
com.aws.greengrass.util.CommitableFile 78% 85% 71%
com.aws.greengrass.util.Coerce 92% 93% 91%
com.aws.greengrass.util.BatchedSubscriber 87% 100% 75%
com.aws.greengrass.util.LockScope 100% 100% 0%
com.aws.greengrass.util.Exec$Copier 86% 91% 82%
com.aws.greengrass.util.S3SdkClientFactory 92% 100% 85%
com.aws.greengrass.util.DefaultConcurrentHashMap 100% 100% 100%
com.aws.greengrass.util.Coerce$1 100% 100% 0%
com.aws.greengrass.util.RegionUtils 33% 33% 0%
com.aws.greengrass.util.RetryUtils 82% 89% 75%
com.aws.greengrass.util.Permissions 85% 98% 72%
com.aws.greengrass.util.EncryptionUtils 100% 100% 100%
com.aws.greengrass.util.GreengrassServiceClientFactory 35% 28% 42%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$CmdDecorator 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$WindowsFileSystemPermissionView 0% 0% 0%
com.aws.greengrass.util.platforms.windows.UserEnv 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$1 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsExec 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsUserAttributes 0% 0% 0%
com.aws.greengrass.util.platforms.windows.UserEnv$PROFILEINFO 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$RunasDecorator 0% 0% 0%
com.aws.greengrass.componentmanager.plugins.docker.DefaultDockerClient 1% 1% 0%
com.aws.greengrass.componentmanager.plugins.docker.EcrAccessor 63% 63% 0%
com.aws.greengrass.componentmanager.plugins.docker.DockerImageDownloader 79% 77% 81%
com.aws.greengrass.componentmanager.plugins.docker.Image 66% 66% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistrySource 100% 100% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistryType 100% 100% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$Credentials 75% 75% 0%
com.aws.greengrass.componentmanager.plugins.docker.DockerApplicationManagerService 0% 0% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry 75% 100% 50%
com.aws.greengrass.componentmanager.plugins.docker.DockerImageArtifactParser 97% 98% 96%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent 85% 88% 83%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$PublishToIoTCoreOperationHandler 56% 76% 37%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$SubscribeToIoTCoreOperationHandler 44% 53% 35%
com.aws.greengrass.mqttclient.v5.PubAck 81% 100% 62%
com.aws.greengrass.mqttclient.v5.Subscribe 75% 100% 50%
com.aws.greengrass.mqttclient.v5.SubscribeResponse 83% 100% 66%
com.aws.greengrass.mqttclient.v5.Subscribe$RetainHandlingType 100% 100% 0%
com.aws.greengrass.mqttclient.v5.UnsubscribeResponse 75% 100% 50%
com.aws.greengrass.mqttclient.v5.Publish$PayloadFormatIndicator 50% 50% 0%
com.aws.greengrass.mqttclient.v5.QOS 67% 84% 50%
com.aws.greengrass.mqttclient.v5.Publish 48% 59% 37%
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent$PutComponentMetricOperationHandler 88% 88% 0%
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent 87% 97% 76%
com.aws.greengrass.componentmanager.models.ComponentIdentifier 100% 100% 0%
com.aws.greengrass.componentmanager.models.ComponentMetadata 0% 0% 0%
com.aws.greengrass.componentmanager.models.PermissionType 58% 66% 50%
com.aws.greengrass.componentmanager.models.Permission 70% 100% 40%
com.aws.greengrass.componentmanager.models.ComponentRequirementIdentifier 0% 0% 0%
com.aws.greengrass.util.platforms.StubResourceController 20% 20% 0%
com.aws.greengrass.util.platforms.Platform$1 100% 100% 0%
com.aws.greengrass.util.platforms.UserDecorator 100% 100% 0%
com.aws.greengrass.util.platforms.Platform 66% 74% 59%
com.aws.greengrass.util.platforms.Platform$FileSystemPermissionView 100% 100% 0%
com.aws.greengrass.dependency.Context$Value 82% 87% 77%
com.aws.greengrass.dependency.EZPlugins 43% 50% 36%
com.aws.greengrass.dependency.Context 79% 83% 75%
com.aws.greengrass.dependency.InjectionActions 100% 100% 0%
com.aws.greengrass.dependency.State 49% 72% 26%
com.aws.greengrass.dependency.ComponentStatusCode 44% 64% 23%
com.aws.greengrass.dependency.Context$1 84% 69% 100%
com.aws.greengrass.mqttclient.spool.Spool 82% 89% 75%
com.aws.greengrass.mqttclient.spool.InMemorySpool 77% 77% 0%
com.aws.greengrass.mqttclient.spool.SpoolerStorageType 100% 100% 0%
com.aws.greengrass.componentmanager.KernelConfigResolver 83% 89% 77%
com.aws.greengrass.componentmanager.Unarchiver 3% 3% 0%
com.aws.greengrass.componentmanager.ClientConfigurationUtils 0% 0% 0%
com.aws.greengrass.componentmanager.ComponentStore 66% 70% 62%
com.aws.greengrass.componentmanager.ComponentServiceHelper 65% 80% 50%
com.aws.greengrass.componentmanager.DependencyResolver 97% 98% 96%
com.aws.greengrass.componentmanager.ComponentManager 72% 76% 69%
com.aws.greengrass.util.platforms.unix.UnixRunWithGenerator 79% 74% 84%
com.aws.greengrass.util.platforms.unix.UnixPlatform$ShDecorator 68% 87% 50%
com.aws.greengrass.util.platforms.unix.UnixUserAttributes 58% 66% 50%
com.aws.greengrass.util.platforms.unix.UnixPlatform$IdOption 100% 100% 0%
com.aws.greengrass.util.platforms.unix.UnixPlatform 36% 37% 35%
com.aws.greengrass.util.platforms.unix.UnixExec 42% 44% 40%
com.aws.greengrass.util.platforms.unix.UnixGroupAttributes 0% 0% 0%
com.aws.greengrass.util.platforms.unix.QNXPlatform 0% 0% 0%
com.aws.greengrass.util.platforms.unix.UnixPlatform$SudoDecorator 72% 86% 58%
com.aws.greengrass.util.platforms.unix.UnixPlatform$PosixFileSystemPermissionView 100% 100% 100%
com.aws.greengrass.util.platforms.unix.DarwinPlatform 0% 0% 0%
com.aws.greengrass.config.UpdateBehaviorTree$PrunedUpdateBehaviorTree 80% 80% 0%
com.aws.greengrass.config.Node 88% 89% 87%
com.aws.greengrass.config.PlatformResolver 69% 80% 58%
com.aws.greengrass.config.ConfigurationReader$1 100% 100% 0%
com.aws.greengrass.config.Configuration 80% 89% 72%
com.aws.greengrass.config.ConfigurationReader 90% 96% 84%
com.aws.greengrass.config.UpdateBehaviorTree 100% 100% 100%
com.aws.greengrass.config.Topic 77% 85% 70%
com.aws.greengrass.config.CaseInsensitiveString 65% 70% 60%
com.aws.greengrass.config.Topics 91% 92% 90%
com.aws.greengrass.config.ConfigurationReader$ConfigurationMode 100% 100% 0%
com.aws.greengrass.config.ConfigurationWriter 74% 76% 72%
com.aws.greengrass.config.WhatHappened 100% 100% 0%
com.aws.greengrass.config.UpdateBehaviorTree$UpdateBehavior 100% 100% 0%
com.aws.greengrass.iot.IotConnectionManager 19% 33% 5%
com.aws.greengrass.iot.IotCloudHelper 78% 89% 66%
com.aws.greengrass.iot.model.IotCloudResponse 100% 100% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus 100% 100% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapSuccessCode 83% 100% 66%
com.aws.greengrass.deployment.bootstrap.BootstrapManager 77% 82% 73%
com.aws.greengrass.deployment.bootstrap.BootstrapManager$1 100% 100% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus$ExecutionStatus 100% 100% 0%
com.aws.greengrass.deployment.model.S3EndpointType 100% 100% 0%
com.aws.greengrass.deployment.model.FailureHandlingPolicy 100% 100% 0%
com.aws.greengrass.deployment.model.RunWith 85% 95% 75%
com.aws.greengrass.deployment.model.DeploymentPackageConfiguration 57% 57% 0%
com.aws.greengrass.deployment.model.DeploymentDocument$SDKSerializer 100% 100% 0%
com.aws.greengrass.deployment.model.Deployment$DeploymentType 100% 100% 0%
com.aws.greengrass.deployment.model.Deployment 87% 100% 75%
com.aws.greengrass.deployment.model.Deployment$DeploymentStage 100% 100% 0%
com.aws.greengrass.deployment.model.DeploymentDocument$SDKDeserializer 80% 80% 0%
com.aws.greengrass.deployment.model.DeploymentTaskMetadata 72% 72% 0%
com.aws.greengrass.deployment.model.DeploymentDocument 100% 100% 100%
com.aws.greengrass.deployment.model.DeploymentResult$DeploymentStatus 100% 100% 0%
com.aws.greengrass.status.FleetStatusService 82% 86% 77%
com.aws.greengrass.status.FleetStatusService$1 100% 100% 0%
com.aws.greengrass.mqttclient.MqttClient$1 75% 100% 50%
com.aws.greengrass.mqttclient.MqttClient$2 100% 100% 0%
com.aws.greengrass.mqttclient.AwsIotMqtt5Client 50% 68% 32%
com.aws.greengrass.mqttclient.PublishRequest 70% 90% 50%
com.aws.greengrass.mqttclient.MqttClient 76% 82% 69%
com.aws.greengrass.mqttclient.WrapperMqttClientConnection 90% 81% 100%
com.aws.greengrass.mqttclient.AwsIotMqttClient 82% 89% 75%
com.aws.greengrass.mqttclient.AwsIotMqttClient$1 71% 93% 50%
com.aws.greengrass.mqttclient.CallbackEventManager 91% 92% 91%
com.aws.greengrass.mqttclient.IotCoreTopicValidator 89% 93% 85%
com.aws.greengrass.mqttclient.MqttTopic 97% 94% 100%
com.aws.greengrass.mqttclient.AwsIotMqtt5Client$1 48% 68% 27%
com.aws.greengrass.mqttclient.IotCoreTopicValidator$Operation 100% 100% 0%
com.aws.greengrass.network.HttpClientProvider 50% 50% 0%
com.aws.greengrass.status.model.FleetStatusDetails 100% 100% 100%
com.aws.greengrass.status.model.OverallStatus 100% 100% 0%
com.aws.greengrass.status.model.Trigger 59% 81% 37%
com.aws.greengrass.status.model.MessageType 76% 85% 66%
com.aws.greengrass.deployment.errorcode.DeploymentErrorCode 100% 100% 0%
com.aws.greengrass.deployment.errorcode.DeploymentErrorCodeUtils 75% 79% 70%
com.aws.greengrass.deployment.errorcode.DeploymentErrorType 100% 100% 0%
com.aws.greengrass.tes.CredentialRequestHandler 87% 94% 80%
com.aws.greengrass.tes.CredentialRequestHandler$TESCache 100% 100% 0%
com.aws.greengrass.tes.HttpServerImpl 100% 100% 0%
com.aws.greengrass.tes.LazyCredentialProvider 12% 12% 0%
com.aws.greengrass.tes.TokenExchangeService 86% 97% 75%
com.aws.greengrass.componentmanager.converter.RecipeLoader 75% 88% 62%
com.aws.greengrass.componentmanager.converter.RecipeLoader$RecipeFormat 100% 100% 0%
com.aws.greengrass.lifecyclemanager.Periodicity 14% 17% 11%
com.aws.greengrass.lifecyclemanager.LogManagerHelper 100% 100% 0%
com.aws.greengrass.lifecyclemanager.UnloadableService 77% 71% 83%
com.aws.greengrass.lifecyclemanager.RunWithPathOwnershipHandler 100% 100% 100%
com.aws.greengrass.lifecyclemanager.KernelAlternatives 49% 51% 46%
com.aws.greengrass.lifecyclemanager.ShellRunner$Default 69% 74% 64%
com.aws.greengrass.lifecyclemanager.GreengrassService 76% 79% 73%
com.aws.greengrass.lifecyclemanager.Lifecycle$DesiredStateUpdatedEvent 100% 100% 0%
com.aws.greengrass.lifecyclemanager.GenericExternalService 43% 46% 39%
com.aws.greengrass.lifecyclemanager.GreengrassService$RunStatus 100% 100% 0%
com.aws.greengrass.lifecyclemanager.Lifecycle 79% 82% 75%
com.aws.greengrass.lifecyclemanager.Kernel 72% 74% 70%
com.aws.greengrass.lifecyclemanager.KernelMetricsEmitter 100% 100% 100%
com.aws.greengrass.lifecyclemanager.Lifecycle$StateEvent 100% 100% 0%
com.aws.greengrass.lifecyclemanager.KernelCommandLine 76% 78% 73%
com.aws.greengrass.lifecyclemanager.GenericExternalService$RunResult 100% 100% 0%
com.aws.greengrass.lifecyclemanager.KernelLifecycle 87% 89% 85%
com.aws.greengrass.lifecyclemanager.PluginService 41% 50% 33%
com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService 7% 8% 7%
com.aws.greengrass.util.platforms.unix.linux.Cgroup 61% 61% 0%
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController 7% 9% 5%
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController$CgroupFreezerState 0% 0% 0%
com.aws.greengrass.util.platforms.unix.linux.LinuxPlatform 100% 100% 0%
com.aws.greengrass.deployment.converter.DeploymentDocumentConverter 77% 84% 70%
com.aws.greengrass.ipc.AuthenticationHandler 16% 25% 8%
com.aws.greengrass.ipc.IPCEventStreamService 65% 80% 50%
com.aws.greengrass.jna.Kernel32Ex 0% 0% 0%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$UpdateConfigurationOperationHandler 81% 78% 85%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent 63% 77% 50%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ConfigurationUpdateOperationHandler 69% 79% 59%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$GetConfigurationOperationHandler 76% 81% 71%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$SendConfigurationValidityReportOperationHandler 86% 90% 83%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ValidateConfigurationUpdatesOperationHandler 85% 85% 0%
com.aws.greengrass.ipc.common.DefaultOperationHandler 0% 0% 0%
com.aws.greengrass.security.SecurityService$DefaultCryptoKeyProvider 96% 93% 100%
com.aws.greengrass.security.SecurityService 78% 75% 81%
com.aws.greengrass.provisioning.ProvisioningPluginFactory 0% 0% 0%
com.aws.greengrass.provisioning.ProvisioningConfigUpdateHelper 91% 100% 83%
com.aws.greengrass.componentmanager.builtins.GreengrassRepositoryDownloader 50% 61% 39%
com.aws.greengrass.componentmanager.builtins.S3Downloader 55% 65% 46%
com.aws.greengrass.componentmanager.builtins.ArtifactDownloaderFactory 79% 77% 80%
com.aws.greengrass.componentmanager.builtins.ArtifactDownloader 82% 83% 80%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$UpdateStateOperationHandler 90% 90% 0%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$DeferComponentUpdateHandler 77% 77% 0%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent 31% 24% 37%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$SubscribeToComponentUpdateOperationHandler 73% 96% 50%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$PauseComponentHandler 89% 90% 87%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$ResumeComponentHandler 89% 90% 87%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$PublishToTopicOperationHandler 90% 80% 100%
com.aws.greengrass.builtin.services.pubsub.SubscriptionTrie 93% 96% 91%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent 83% 92% 73%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$SubscribeToTopicOperationHandler 68% 68% 0%
com.aws.greengrass.telemetry.MetricsPayload 100% 100% 0%
com.aws.greengrass.telemetry.MetricsAggregator 87% 91% 83%
com.aws.greengrass.telemetry.AggregatedMetric 100% 100% 0%
com.aws.greengrass.telemetry.TelemetryAgent 71% 76% 66%
com.aws.greengrass.telemetry.TelemetryConfiguration 52% 65% 40%
com.aws.greengrass.telemetry.PeriodicMetricsEmitter 100% 100% 0%
com.aws.greengrass.telemetry.TelemetryAgent$1 60% 60% 0%
com.aws.greengrass.telemetry.SystemMetricsEmitter 100% 100% 100%
com.aws.greengrass.deployment.DeploymentConfigMerger 81% 83% 80%
com.aws.greengrass.deployment.IotJobsHelper$IotJobsClientFactory 100% 100% 0%
com.aws.greengrass.deployment.DeploymentConfigMerger$AggregateServicesChangeManager 72% 70% 75%
com.aws.greengrass.deployment.DeviceConfiguration$1 82% 100% 64%
com.aws.greengrass.deployment.DeviceConfiguration 76% 79% 73%
com.aws.greengrass.deployment.DeploymentDocumentDownloader 67% 80% 54%
com.aws.greengrass.deployment.DeploymentQueue 97% 100% 95%
com.aws.greengrass.deployment.DeploymentService 56% 65% 47%
com.aws.greengrass.deployment.IotJobsHelper$LatestQueuedJobs 69% 68% 70%
com.aws.greengrass.deployment.KernelUpdateDeploymentTask 65% 80% 50%
com.aws.greengrass.deployment.DynamicComponentConfigurationValidator 84% 94% 75%
com.aws.greengrass.deployment.DefaultDeploymentTask 72% 87% 57%
com.aws.greengrass.deployment.DeploymentDirectoryManager 71% 86% 56%
com.aws.greengrass.deployment.IotJobsHelper$WrapperMqttConnectionFactory 100% 100% 0%
com.aws.greengrass.deployment.IotJobsHelper 56% 62% 50%
com.aws.greengrass.deployment.IotJobsHelper$1 85% 85% 0%
com.aws.greengrass.deployment.ThingGroupHelper 47% 61% 33%
com.aws.greengrass.deployment.ShadowDeploymentListener 24% 33% 15%
com.aws.greengrass.deployment.ShadowDeploymentListener$1 14% 14% 0%
com.aws.greengrass.deployment.DeploymentStatusKeeper 82% 93% 71%
com.aws.greengrass.deployment.IotJobsClientWrapper 15% 15% 0%
com.aws.greengrass.util.orchestration.SystemServiceUtilsFactory 0% 0% 0%
com.aws.greengrass.util.orchestration.ProcdUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.SystemServiceUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.InitUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.SystemdUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.WinswUtils 0% 0% 0%
com.aws.greengrass.testing.TestFeatureParameters 83% 100% 66%
com.aws.greengrass.testing.TestFeatureParameters$1 100% 100% 0%
com.aws.greengrass.ipc.modules.PubSubIPCService 68% 68% 0%
com.aws.greengrass.ipc.modules.AuthorizationService 75% 75% 0%
com.aws.greengrass.ipc.modules.ComponentMetricIPCService 69% 69% 0%
com.aws.greengrass.ipc.modules.MqttProxyIPCService 64% 64% 0%
com.aws.greengrass.ipc.modules.LifecycleIPCService 86% 86% 0%
com.aws.greengrass.ipc.modules.ConfigStoreIPCService 66% 66% 0%
com.aws.greengrass.easysetup.GreengrassSetup 71% 72% 71%
com.aws.greengrass.easysetup.DeviceProvisioningHelper 64% 72% 57%

Minimum allowed coverage is 65%

Generated by 🐒 cobertura-action against c391d69

Copy link

github-actions bot commented Feb 9, 2024

Integration Tests Coverage Report

File Coverage Lines Branches
All files 52% 56% 48%
com.aws.greengrass.deployment.activator.DeploymentActivatorFactory 100% 100% 100%
com.aws.greengrass.deployment.activator.KernelUpdateActivator 40% 41% 40%
com.aws.greengrass.deployment.activator.DeploymentActivator 91% 82% 100%
com.aws.greengrass.deployment.activator.DefaultActivator 71% 78% 64%
com.aws.greengrass.authorization.AuthorizationIPCAgent$ValidateAuthorizationTokenOperationHandler 48% 47% 50%
com.aws.greengrass.authorization.AuthorizationPolicyParser$1 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationPolicyParser$2 0% 0% 0%
com.aws.greengrass.authorization.WildcardTrie 74% 79% 70%
com.aws.greengrass.authorization.AuthorizationIPCAgent 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationPolicyParser 76% 80% 72%
com.aws.greengrass.authorization.AuthorizationHandler$ResourceLookupPolicy 100% 100% 0%
com.aws.greengrass.authorization.AuthorizationHandler 74% 74% 74%
com.aws.greengrass.authorization.AuthorizationModule 46% 59% 33%
com.aws.greengrass.authorization.AuthorizationPolicy 0% 0% 0%
com.aws.greengrass.util.IotSdkClientFactory$EnvironmentStage 0% 0% 0%
com.aws.greengrass.util.IotSdkClientFactory 0% 0% 0%
com.aws.greengrass.util.DependencyOrder 100% 100% 100%
com.aws.greengrass.util.SerializerFactory 100% 100% 0%
com.aws.greengrass.util.BaseRetryableAccessor 0% 0% 0%
com.aws.greengrass.util.CommitableWriter 47% 70% 25%
com.aws.greengrass.util.EncryptionUtils$PemWriter 0% 0% 0%
com.aws.greengrass.util.IamSdkClientFactory 0% 0% 0%
com.aws.greengrass.util.OrderedExecutorService$OrderedTask 45% 66% 25%
com.aws.greengrass.util.ProxyUtils 28% 32% 23%
com.aws.greengrass.util.FileSystemPermission$Option 100% 100% 0%
com.aws.greengrass.util.NucleusPaths 100% 100% 0%
com.aws.greengrass.util.Exec 70% 85% 56%
com.aws.greengrass.util.StsSdkClientFactory 0% 0% 0%
com.aws.greengrass.util.MqttChunkedPayloadPublisher 35% 42% 27%
com.aws.greengrass.util.CommitableReader 0% 0% 0%
com.aws.greengrass.util.Utils$1 87% 100% 75%
com.aws.greengrass.util.Utils 55% 60% 51%
com.aws.greengrass.util.AppendableWriter 0% 0% 0%
com.aws.greengrass.util.Digest 66% 83% 50%
com.aws.greengrass.util.OrderedExecutorService 63% 77% 50%
com.aws.greengrass.util.CommitableFile 65% 73% 57%
com.aws.greengrass.util.Coerce 59% 64% 53%
com.aws.greengrass.util.BatchedSubscriber 59% 68% 50%
com.aws.greengrass.util.LockScope 100% 100% 0%
com.aws.greengrass.util.Exec$Copier 86% 91% 82%
com.aws.greengrass.util.S3SdkClientFactory 38% 38% 0%
com.aws.greengrass.util.DefaultConcurrentHashMap 100% 100% 100%
com.aws.greengrass.util.Coerce$1 0% 0% 0%
com.aws.greengrass.util.RegionUtils 0% 0% 0%
com.aws.greengrass.util.RetryUtils 15% 21% 10%
com.aws.greengrass.util.Permissions 72% 89% 54%
com.aws.greengrass.util.EncryptionUtils 0% 0% 0%
com.aws.greengrass.util.GreengrassServiceClientFactory 48% 35% 61%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$CmdDecorator 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$WindowsFileSystemPermissionView 0% 0% 0%
com.aws.greengrass.util.platforms.windows.UserEnv 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$1 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsExec 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsUserAttributes 0% 0% 0%
com.aws.greengrass.util.platforms.windows.UserEnv$PROFILEINFO 0% 0% 0%
com.aws.greengrass.util.platforms.windows.WindowsPlatform$RunasDecorator 0% 0% 0%
com.aws.greengrass.componentmanager.plugins.docker.DefaultDockerClient 1% 1% 0%
com.aws.greengrass.componentmanager.plugins.docker.EcrAccessor 61% 72% 50%
com.aws.greengrass.componentmanager.plugins.docker.DockerImageDownloader 49% 55% 43%
com.aws.greengrass.componentmanager.plugins.docker.Image 66% 66% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistrySource 100% 100% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$RegistryType 100% 100% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry$Credentials 75% 75% 0%
com.aws.greengrass.componentmanager.plugins.docker.DockerApplicationManagerService 0% 0% 0%
com.aws.greengrass.componentmanager.plugins.docker.Registry 75% 100% 50%
com.aws.greengrass.componentmanager.plugins.docker.DockerImageArtifactParser 81% 88% 75%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent 47% 53% 41%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$PublishToIoTCoreOperationHandler 58% 78% 37%
com.aws.greengrass.builtin.services.mqttproxy.MqttProxyIPCAgent$SubscribeToIoTCoreOperationHandler 42% 49% 35%
com.aws.greengrass.mqttclient.v5.PubAck 0% 0% 0%
com.aws.greengrass.mqttclient.v5.Subscribe 0% 0% 0%
com.aws.greengrass.mqttclient.v5.SubscribeResponse 0% 0% 0%
com.aws.greengrass.mqttclient.v5.Subscribe$RetainHandlingType 87% 87% 0%
com.aws.greengrass.mqttclient.v5.UnsubscribeResponse 0% 0% 0%
com.aws.greengrass.mqttclient.v5.Publish$PayloadFormatIndicator 50% 50% 0%
com.aws.greengrass.mqttclient.v5.QOS 50% 76% 25%
com.aws.greengrass.mqttclient.v5.Publish 29% 34% 25%
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent$PutComponentMetricOperationHandler 0% 0% 0%
com.aws.greengrass.builtin.services.telemetry.ComponentMetricIPCEventStreamAgent 16% 16% 0%
com.aws.greengrass.componentmanager.models.ComponentIdentifier 75% 75% 0%
com.aws.greengrass.componentmanager.models.ComponentMetadata 0% 0% 0%
com.aws.greengrass.componentmanager.models.PermissionType 58% 66% 50%
com.aws.greengrass.componentmanager.models.Permission 79% 100% 59%
com.aws.greengrass.componentmanager.models.ComponentRequirementIdentifier 0% 0% 0%
com.aws.greengrass.util.platforms.StubResourceController 20% 20% 0%
com.aws.greengrass.util.platforms.Platform$1 100% 100% 0%
com.aws.greengrass.util.platforms.UserDecorator 100% 100% 0%
com.aws.greengrass.util.platforms.Platform 82% 91% 72%
com.aws.greengrass.util.platforms.Platform$FileSystemPermissionView 100% 100% 0%
com.aws.greengrass.dependency.Context$Value 80% 85% 75%
com.aws.greengrass.dependency.EZPlugins 61% 67% 54%
com.aws.greengrass.dependency.Context 76% 83% 69%
com.aws.greengrass.dependency.InjectionActions 100% 100% 0%
com.aws.greengrass.dependency.State 51% 76% 26%
com.aws.greengrass.dependency.ComponentStatusCode 56% 74% 38%
com.aws.greengrass.dependency.Context$1 84% 69% 100%
com.aws.greengrass.mqttclient.spool.Spool 22% 35% 10%
com.aws.greengrass.mqttclient.spool.InMemorySpool 44% 44% 0%
com.aws.greengrass.mqttclient.spool.SpoolerStorageType 100% 100% 0%
com.aws.greengrass.componentmanager.KernelConfigResolver 76% 83% 69%
com.aws.greengrass.componentmanager.Unarchiver 72% 87% 58%
com.aws.greengrass.componentmanager.ClientConfigurationUtils 0% 0% 0%
com.aws.greengrass.componentmanager.ComponentStore 49% 51% 46%
com.aws.greengrass.componentmanager.ComponentServiceHelper 33% 52% 14%
com.aws.greengrass.componentmanager.DependencyResolver 60% 69% 52%
com.aws.greengrass.componentmanager.ComponentManager 66% 63% 70%
com.aws.greengrass.util.platforms.unix.UnixRunWithGenerator 63% 61% 65%
com.aws.greengrass.util.platforms.unix.UnixPlatform$ShDecorator 75% 100% 50%
com.aws.greengrass.util.platforms.unix.UnixUserAttributes 75% 100% 50%
com.aws.greengrass.util.platforms.unix.UnixPlatform$IdOption 100% 100% 0%
com.aws.greengrass.util.platforms.unix.UnixPlatform 62% 58% 66%
com.aws.greengrass.util.platforms.unix.UnixExec 70% 75% 65%
com.aws.greengrass.util.platforms.unix.UnixGroupAttributes 100% 100% 0%
com.aws.greengrass.util.platforms.unix.QNXPlatform 0% 0% 0%
com.aws.greengrass.util.platforms.unix.UnixPlatform$SudoDecorator 76% 89% 62%
com.aws.greengrass.util.platforms.unix.UnixPlatform$PosixFileSystemPermissionView 87% 91% 83%
com.aws.greengrass.util.platforms.unix.DarwinPlatform 0% 0% 0%
com.aws.greengrass.config.UpdateBehaviorTree$PrunedUpdateBehaviorTree 80% 80% 0%
com.aws.greengrass.config.Node 78% 80% 77%
com.aws.greengrass.config.PlatformResolver 36% 46% 25%
com.aws.greengrass.config.ConfigurationReader$1 100% 100% 0%
com.aws.greengrass.config.Configuration 65% 81% 50%
com.aws.greengrass.config.ConfigurationReader 66% 76% 57%
com.aws.greengrass.config.UpdateBehaviorTree 100% 100% 100%
com.aws.greengrass.config.Topic 73% 78% 67%
com.aws.greengrass.config.CaseInsensitiveString 65% 70% 60%
com.aws.greengrass.config.Topics 81% 82% 80%
com.aws.greengrass.config.ConfigurationReader$ConfigurationMode 100% 100% 0%
com.aws.greengrass.config.ConfigurationWriter 75% 72% 77%
com.aws.greengrass.config.WhatHappened 100% 100% 0%
com.aws.greengrass.config.UpdateBehaviorTree$UpdateBehavior 100% 100% 0%
com.aws.greengrass.iot.IotConnectionManager 0% 0% 0%
com.aws.greengrass.iot.IotCloudHelper 0% 0% 0%
com.aws.greengrass.iot.model.IotCloudResponse 0% 0% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus 100% 100% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapSuccessCode 0% 0% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapManager 59% 64% 54%
com.aws.greengrass.deployment.bootstrap.BootstrapManager$1 0% 0% 0%
com.aws.greengrass.deployment.bootstrap.BootstrapTaskStatus$ExecutionStatus 100% 100% 0%
com.aws.greengrass.deployment.model.S3EndpointType 0% 0% 0%
com.aws.greengrass.deployment.model.FailureHandlingPolicy 100% 100% 0%
com.aws.greengrass.deployment.model.RunWith 70% 91% 50%
com.aws.greengrass.deployment.model.DeploymentPackageConfiguration 21% 21% 0%
com.aws.greengrass.deployment.model.DeploymentDocument$SDKSerializer 100% 100% 0%
com.aws.greengrass.deployment.model.Deployment$DeploymentType 100% 100% 0%
com.aws.greengrass.deployment.model.Deployment 72% 70% 75%
com.aws.greengrass.deployment.model.Deployment$DeploymentStage 100% 100% 0%
com.aws.greengrass.deployment.model.DeploymentDocument$SDKDeserializer 20% 20% 0%
com.aws.greengrass.deployment.model.DeploymentTaskMetadata 72% 72% 0%
com.aws.greengrass.deployment.model.DeploymentDocument 91% 100% 83%
com.aws.greengrass.deployment.model.DeploymentResult$DeploymentStatus 100% 100% 0%
com.aws.greengrass.status.FleetStatusService 79% 89% 70%
com.aws.greengrass.status.FleetStatusService$1 16% 16% 0%
com.aws.greengrass.mqttclient.MqttClient$1 12% 12% 0%
com.aws.greengrass.mqttclient.MqttClient$2 100% 100% 0%
com.aws.greengrass.mqttclient.AwsIotMqtt5Client 32% 40% 23%
com.aws.greengrass.mqttclient.PublishRequest 70% 90% 50%
com.aws.greengrass.mqttclient.MqttClient 38% 45% 32%
com.aws.greengrass.mqttclient.WrapperMqttClientConnection 87% 74% 100%
com.aws.greengrass.mqttclient.AwsIotMqttClient 0% 0% 0%
com.aws.greengrass.mqttclient.AwsIotMqttClient$1 0% 0% 0%
com.aws.greengrass.mqttclient.CallbackEventManager 32% 48% 16%
com.aws.greengrass.mqttclient.IotCoreTopicValidator 61% 60% 62%
com.aws.greengrass.mqttclient.MqttTopic 0% 0% 0%
com.aws.greengrass.mqttclient.AwsIotMqtt5Client$1 12% 19% 5%
com.aws.greengrass.mqttclient.IotCoreTopicValidator$Operation 100% 100% 0%
com.aws.greengrass.network.HttpClientProvider 50% 50% 0%
com.aws.greengrass.status.model.FleetStatusDetails 100% 100% 100%
com.aws.greengrass.status.model.OverallStatus 100% 100% 0%
com.aws.greengrass.status.model.Trigger 62% 87% 37%
com.aws.greengrass.status.model.MessageType 76% 85% 66%
com.aws.greengrass.deployment.errorcode.DeploymentErrorCode 100% 100% 0%
com.aws.greengrass.deployment.errorcode.DeploymentErrorCodeUtils 37% 44% 29%
com.aws.greengrass.deployment.errorcode.DeploymentErrorType 100% 100% 0%
com.aws.greengrass.tes.CredentialRequestHandler 0% 0% 0%
com.aws.greengrass.tes.CredentialRequestHandler$TESCache 0% 0% 0%
com.aws.greengrass.tes.HttpServerImpl 0% 0% 0%
com.aws.greengrass.tes.LazyCredentialProvider 12% 12% 0%
com.aws.greengrass.tes.TokenExchangeService 0% 0% 0%
com.aws.greengrass.componentmanager.converter.RecipeLoader 72% 86% 59%
com.aws.greengrass.componentmanager.converter.RecipeLoader$RecipeFormat 100% 100% 0%
com.aws.greengrass.lifecyclemanager.Periodicity 54% 62% 47%
com.aws.greengrass.lifecyclemanager.LogManagerHelper 100% 100% 0%
com.aws.greengrass.lifecyclemanager.UnloadableService 25% 25% 0%
com.aws.greengrass.lifecyclemanager.RunWithPathOwnershipHandler 89% 96% 83%
com.aws.greengrass.lifecyclemanager.KernelAlternatives 17% 20% 15%
com.aws.greengrass.lifecyclemanager.ShellRunner$Default 73% 76% 71%
com.aws.greengrass.lifecyclemanager.GreengrassService 88% 88% 87%
com.aws.greengrass.lifecyclemanager.Lifecycle$DesiredStateUpdatedEvent 100% 100% 0%
com.aws.greengrass.lifecyclemanager.GenericExternalService 70% 77% 64%
com.aws.greengrass.lifecyclemanager.GreengrassService$RunStatus 100% 100% 0%
com.aws.greengrass.lifecyclemanager.Lifecycle 83% 85% 82%
com.aws.greengrass.lifecyclemanager.Kernel 63% 62% 64%
com.aws.greengrass.lifecyclemanager.KernelMetricsEmitter 100% 100% 100%
com.aws.greengrass.lifecyclemanager.Lifecycle$StateEvent 100% 100% 0%
com.aws.greengrass.lifecyclemanager.KernelCommandLine 58% 63% 53%
com.aws.greengrass.lifecyclemanager.GenericExternalService$RunResult 100% 100% 0%
com.aws.greengrass.lifecyclemanager.KernelLifecycle 74% 77% 71%
com.aws.greengrass.lifecyclemanager.PluginService 67% 68% 66%
com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService 77% 80% 75%
com.aws.greengrass.util.platforms.unix.linux.Cgroup 90% 90% 0%
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController 72% 78% 66%
com.aws.greengrass.util.platforms.unix.linux.LinuxSystemResourceController$CgroupFreezerState 100% 100% 0%
com.aws.greengrass.util.platforms.unix.linux.LinuxPlatform 100% 100% 0%
com.aws.greengrass.deployment.converter.DeploymentDocumentConverter 71% 79% 63%
com.aws.greengrass.ipc.AuthenticationHandler 30% 35% 25%
com.aws.greengrass.ipc.IPCEventStreamService 73% 80% 66%
com.aws.greengrass.jna.Kernel32Ex 0% 0% 0%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$UpdateConfigurationOperationHandler 69% 76% 61%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent 78% 81% 75%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ConfigurationUpdateOperationHandler 76% 90% 62%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$GetConfigurationOperationHandler 67% 78% 57%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$SendConfigurationValidityReportOperationHandler 78% 90% 66%
com.aws.greengrass.builtin.services.configstore.ConfigStoreIPCEventStreamAgent$ValidateConfigurationUpdatesOperationHandler 95% 95% 0%
com.aws.greengrass.ipc.common.DefaultOperationHandler 0% 0% 0%
com.aws.greengrass.security.SecurityService$DefaultCryptoKeyProvider 24% 23% 25%
com.aws.greengrass.security.SecurityService 36% 47% 25%
com.aws.greengrass.provisioning.ProvisioningPluginFactory 100% 100% 0%
com.aws.greengrass.provisioning.ProvisioningConfigUpdateHelper 75% 100% 50%
com.aws.greengrass.componentmanager.builtins.GreengrassRepositoryDownloader 0% 0% 0%
com.aws.greengrass.componentmanager.builtins.S3Downloader 10% 17% 3%
com.aws.greengrass.componentmanager.builtins.ArtifactDownloaderFactory 52% 63% 42%
com.aws.greengrass.componentmanager.builtins.ArtifactDownloader 16% 21% 11%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$UpdateStateOperationHandler 60% 60% 0%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$DeferComponentUpdateHandler 88% 88% 0%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent 59% 61% 56%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$SubscribeToComponentUpdateOperationHandler 57% 64% 50%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$PauseComponentHandler 56% 62% 50%
com.aws.greengrass.builtin.services.lifecycle.LifecycleIPCEventStreamAgent$ResumeComponentHandler 56% 62% 50%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$PublishToTopicOperationHandler 70% 90% 50%
com.aws.greengrass.builtin.services.pubsub.SubscriptionTrie 74% 81% 67%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent 66% 73% 58%
com.aws.greengrass.builtin.services.pubsub.PubSubIPCEventStreamAgent$SubscribeToTopicOperationHandler 97% 94% 100%
com.aws.greengrass.telemetry.MetricsPayload 0% 0% 0%
com.aws.greengrass.telemetry.MetricsAggregator 39% 43% 36%
com.aws.greengrass.telemetry.AggregatedMetric 20% 20% 0%
com.aws.greengrass.telemetry.TelemetryAgent 51% 63% 40%
com.aws.greengrass.telemetry.TelemetryConfiguration 30% 51% 10%
com.aws.greengrass.telemetry.PeriodicMetricsEmitter 100% 100% 0%
com.aws.greengrass.telemetry.TelemetryAgent$1 20% 20% 0%
com.aws.greengrass.telemetry.SystemMetricsEmitter 100% 100% 100%
com.aws.greengrass.deployment.DeploymentConfigMerger 76% 78% 75%
com.aws.greengrass.deployment.IotJobsHelper$IotJobsClientFactory 100% 100% 0%
com.aws.greengrass.deployment.DeploymentConfigMerger$AggregateServicesChangeManager 73% 72% 75%
com.aws.greengrass.deployment.DeviceConfiguration$1 0% 0% 0%
com.aws.greengrass.deployment.DeviceConfiguration 61% 64% 59%
com.aws.greengrass.deployment.DeploymentDocumentDownloader 10% 10% 0%
com.aws.greengrass.deployment.DeploymentQueue 62% 69% 55%
com.aws.greengrass.deployment.DeploymentService 61% 61% 60%
com.aws.greengrass.deployment.IotJobsHelper$LatestQueuedJobs 18% 18% 0%
com.aws.greengrass.deployment.KernelUpdateDeploymentTask 0% 0% 0%
com.aws.greengrass.deployment.DynamicComponentConfigurationValidator 85% 82% 87%
com.aws.greengrass.deployment.DefaultDeploymentTask 77% 85% 69%
com.aws.greengrass.deployment.DeploymentDirectoryManager 62% 75% 50%
com.aws.greengrass.deployment.IotJobsHelper$WrapperMqttConnectionFactory 100% 100% 0%
com.aws.greengrass.deployment.IotJobsHelper 35% 44% 27%
com.aws.greengrass.deployment.IotJobsHelper$1 14% 14% 0%
com.aws.greengrass.deployment.ThingGroupHelper 27% 38% 16%
com.aws.greengrass.deployment.ShadowDeploymentListener 33% 45% 21%
com.aws.greengrass.deployment.ShadowDeploymentListener$1 14% 14% 0%
com.aws.greengrass.deployment.DeploymentStatusKeeper 81% 91% 71%
com.aws.greengrass.deployment.IotJobsClientWrapper 35% 41% 30%
com.aws.greengrass.util.orchestration.SystemServiceUtilsFactory 0% 0% 0%
com.aws.greengrass.util.orchestration.ProcdUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.SystemServiceUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.InitUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.SystemdUtils 0% 0% 0%
com.aws.greengrass.util.orchestration.WinswUtils 0% 0% 0%
com.aws.greengrass.testing.TestFeatureParameters 83% 100% 66%
com.aws.greengrass.testing.TestFeatureParameters$1 100% 100% 0%
com.aws.greengrass.ipc.modules.PubSubIPCService 81% 81% 0%
com.aws.greengrass.ipc.modules.AuthorizationService 100% 100% 0%
com.aws.greengrass.ipc.modules.ComponentMetricIPCService 69% 69% 0%
com.aws.greengrass.ipc.modules.MqttProxyIPCService 78% 78% 0%
com.aws.greengrass.ipc.modules.LifecycleIPCService 86% 86% 0%
com.aws.greengrass.ipc.modules.ConfigStoreIPCService 100% 100% 0%
com.aws.greengrass.easysetup.GreengrassSetup 0% 0% 0%
com.aws.greengrass.easysetup.DeviceProvisioningHelper 0% 0% 0%

Minimum allowed coverage is 58%

Generated by 🐒 cobertura-action against c391d69

String.join(", ", request.getValueToMerge().keySet())
));

Topics serviceTopics = kernel.findServiceTopic(targetServiceName);
Copy link
Member

@MikeDombo MikeDombo Feb 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you need to check for authorization before starting to do the lookup and applying changes. Please do that in this change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do

@aws-kevinrickard aws-kevinrickard marked this pull request as draft February 10, 2024 00:38
@aws-kevinrickard
Copy link
Member Author

Authorization changes still WIP, setting this PR to draft for that

@aws-kevinrickard aws-kevinrickard changed the title feat(c2cuc): add basic functionality for updating configuration of other components feat(c2cuc): add functionality for updating configuration of other components Feb 10, 2024
@junfuchen99 junfuchen99 added the work-in-progress PR is actively being worked on and should not be considered ready for review label Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
work-in-progress PR is actively being worked on and should not be considered ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants