示例#1
0
        public void AddsStsSettingsToEmptyJson()
        {
            // Arrange
            var mockFilePath   = "/app/service/sts-settings.json";
            var mockFileSystem = new MockFileSystem();

            var settingsEditor      = new SettingsEditor(mockFilePath, mockFileSystem);
            var expectedStsSettings = new StsSettings {
                Realm = "realm",
                SolutionUserSigningCertificatePath = "certificate",
                StsServiceEndpoint = "endpoint",
                SolutionServiceId  = "ses-test-solution-id",
                SolutionOwnerId    = "ses-owner-id"
            };

            // Act
            settingsEditor.AddStsSettings(expectedStsSettings);
            settingsEditor.Save();

            // Assert
            string  json              = mockFileSystem.File.ReadAllText(mockFilePath);
            dynamic actual            = JsonConvert.DeserializeObject(json);
            var     actualStsSettings = actual.StsSettings;

            Assert.AreEqual(expectedStsSettings.Realm, actualStsSettings.Realm.ToString());
            Assert.AreEqual(expectedStsSettings.SolutionUserSigningCertificatePath, actualStsSettings.SolutionUserSigningCertificatePath.ToString());
            Assert.AreEqual(expectedStsSettings.StsServiceEndpoint, actualStsSettings.StsServiceEndpoint.ToString());
            Assert.AreEqual(expectedStsSettings.SolutionServiceId, actualStsSettings.SolutionServiceId.ToString());
            Assert.AreEqual(expectedStsSettings.SolutionOwnerId, actualStsSettings.SolutionOwnerId.ToString());
        }
示例#2
0
        public void EditsExistingStsSettings()
        {
            // Arrange
            var initialStsSettings = new StsSettings {
                Realm = "r",
                SolutionUserSigningCertificatePath = "c",
                StsServiceEndpoint = "e"
            };

            var expectedStsSettings = new StsSettings {
                Realm = "realm",
                SolutionUserSigningCertificatePath = "certificate",
                StsServiceEndpoint = "endpoint"
            };

            var settings = new {
                RunspaceSettings = new {
                    A = "A",
                    B = "B"
                },
                StorageSettings = new {
                    C = "C",
                    D = "D"
                },
                StsSettings = initialStsSettings
            };
            var settingsFileContent = JsonConvert.SerializeObject(settings, Formatting.Indented);
            var mockFileData        = new MockFileData(settingsFileContent);
            var mockFilePath        = "/app/service/appsettings.json";
            var mockFileSystem      = new MockFileSystem();

            mockFileSystem.AddFile(mockFilePath, mockFileData);

            var settingsEditor = new SettingsEditor(mockFilePath, mockFileSystem);


            // Act
            settingsEditor.AddStsSettings(expectedStsSettings);
            settingsEditor.Save();

            // Assert
            string  json              = mockFileSystem.File.ReadAllText(mockFilePath);
            dynamic actual            = JsonConvert.DeserializeObject(json);
            var     actualStsSettings = actual.StsSettings;

            Assert.AreEqual(expectedStsSettings.Realm, actualStsSettings.Realm.ToString());
            Assert.AreEqual(expectedStsSettings.SolutionUserSigningCertificatePath, actualStsSettings.SolutionUserSigningCertificatePath.ToString());
            Assert.AreEqual(expectedStsSettings.StsServiceEndpoint, actualStsSettings.StsServiceEndpoint.ToString());
        }
示例#3
0
        public void WriteServiceStsSettings(StsSettings stsSettings)
        {
            const string configMapName    = Constants.StsSettingsConfigMapName;
            const string configMapDataKey = Constants.StsSettingsConfigMapDataKey;

            _logger.LogInformation($"Writing k8s config map with service settings");
            var settingsEditor = new SettingsEditor();

            settingsEditor.AddStsSettings(stsSettings);
            var settingsJson = settingsEditor.GetSettingsJsonContent();

            _k8sClient.RecreateConfigMap(configMapName, new Dictionary <string, string> {
                { configMapDataKey, settingsJson }
            });
        }