Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions SgfDevs.Tests/SgfDevs.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="xunit" Version="2.9.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
76 changes: 70 additions & 6 deletions SgfDevs.Tests/appsettings-schema.Umbraco.Cms.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@
},
"Website": {
"$ref": "#/definitions/WebsiteSettings"
},
"SignalR": {
"$ref": "#/definitions/SignalRSettings"
}
}
},
Expand Down Expand Up @@ -241,7 +244,7 @@
"EnableMediaRecycleBinProtection": {
"type": "boolean",
"description": "Gets or sets a value indicating whether to enable or disable the recycle bin protection for media.",
"default": false
"default": true
}
}
},
Expand Down Expand Up @@ -441,6 +444,14 @@
"$ref": "#/definitions/OutputCacheSettings"
}
]
},
"OpenApi": {
"description": "Gets or sets the settings for the Delivery API OpenAPI document.\n ",
"oneOf": [
{
"$ref": "#/definitions/OpenApiSettings"
}
]
}
}
},
Expand Down Expand Up @@ -574,6 +585,17 @@
}
}
},
"OpenApiSettings": {
"type": "object",
"description": "Typed configuration options for the OpenAPI document of the Delivery API.\n ",
"properties": {
"GenerateContentTypeSchemas": {
"type": "boolean",
"description": "Gets or sets a value indicating whether the Delivery API OpenAPI document should include\nschemas for the instance's content types (document types, element types, and media types).\n ",
"default": false
}
}
},
"CoreDebugSettings": {
"type": "object",
"description": "Typed configuration options for core debug settings.\n ",
Expand Down Expand Up @@ -1565,7 +1587,12 @@
]
},
"MemberPassword": {
"$ref": "#/definitions/MemberPasswordConfigurationSettings"
"description": "Gets or sets the password configuration settings for members.\n ",
"oneOf": [
{
"$ref": "#/definitions/MemberPasswordConfigurationSettings"
}
]
}
}
},
Expand Down Expand Up @@ -1818,6 +1845,12 @@
"type": "boolean",
"description": "Gets or sets a value indicating whether unattended package migrations are enabled.\n "
},
"MigrationClaimTimeout": {
"type": "string",
"description": "Gets or sets the maximum time a migration leadership claim is considered valid before\nanother server may take over. Protects against a leader crashing mid-migration.\n ",
"format": "duration",
"default": "02:00:00"
},
"UnattendedUserName": {
"type": [
"null",
Expand Down Expand Up @@ -2096,7 +2129,7 @@
},
"PayloadType": {
"description": "Gets or sets a value indicating the type of payload used for sending webhooks\n ",
"default": "Legacy",
"default": "Minimal",
"oneOf": [
{
"$ref": "#/definitions/WebhookPayloadType"
Expand All @@ -2121,7 +2154,7 @@
},
"CacheSettings": {
"type": "object",
"description": "Represents configuration settings for the Umbraco content and media cache.\n ",
"description": "Represents configuration settings for the Umbraco content, media and element cache.\n ",
"properties": {
"ContentTypeKeys": {
"type": "array",
Expand All @@ -2143,6 +2176,12 @@
"format": "int32",
"default": 100
},
"ElementBreadthFirstSeedCount": {
"type": "integer",
"description": "Gets or sets a value for the element breadth first seed count.",
"format": "int32",
"default": 100
},
"DocumentSeedBatchSize": {
"type": "integer",
"description": "Gets or sets a value for the document seed batch size.",
Expand All @@ -2155,6 +2194,12 @@
"format": "int32",
"default": 100
},
"ElementSeedBatchSize": {
"type": "integer",
"description": "Gets or sets a value for the element seed batch size.",
"format": "int32",
"default": 100
},
"ContentTypeRebuildMode": {
"description": "Gets or sets the mode for rebuilding the database cache when content type structural changes occur.\n ",
"default": "Immediate",
Expand All @@ -2165,7 +2210,7 @@
]
},
"Entry": {
"description": "Gets or sets the cache entry settings for documents and media.\n ",
"description": "Gets or sets the cache entry settings for documents, media and elements.\n ",
"oneOf": [
{
"$ref": "#/definitions/CacheEntry"
Expand All @@ -2188,7 +2233,7 @@
},
"CacheEntry": {
"type": "object",
"description": "Represents cache entry settings for documents and media items.\n ",
"description": "Represents cache entry settings for documents, media and element items.\n ",
"properties": {
"Document": {
"description": "Gets or sets the cache entry settings for documents.\n ",
Expand All @@ -2205,6 +2250,14 @@
"$ref": "#/definitions/CacheEntrySettings"
}
]
},
"Element": {
"description": "Gets or sets the cache entry settings for element items.\n ",
"oneOf": [
{
"$ref": "#/definitions/CacheEntrySettings"
}
]
}
}
},
Expand Down Expand Up @@ -2286,6 +2339,17 @@
"default": "00:00:10"
}
}
},
"SignalRSettings": {
"type": "object",
"description": "Typed configuration options for SignalR settings.",
"properties": {
"ClientShouldSkipNegotiation": {
"type": "boolean",
"description": "Gets or sets a value indicating whether the client should skip the SignalR negotiate\nround-trip and connect directly via WebSockets.",
"default": false
}
}
}
}
}
150 changes: 117 additions & 33 deletions SgfDevs.Tests/appsettings-schema.Umbraco.StorageProviders.AzureBlob.json
Original file line number Diff line number Diff line change
@@ -1,52 +1,43 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "UmbracoStorageProvidersSchema",
"title": "UmbracoStorageProvidersAzureBlobSchema",
"type": "object",
"description": "Defines the appsettings JSON schema for Umbraco Storage Providers - Azure Blob Storage configuration.",
"properties": {
"Umbraco": {
"$ref": "#/definitions/UmbracoDefinition"
"description": "Configuration container for all Umbraco products.",
"oneOf": [
{
"$ref": "#/definitions/UmbracoDefinition"
}
]
}
},
"definitions": {
"UmbracoDefinition": {
"type": "object",
"description": "Configuration container for all Umbraco products.",
"description": "Represents the configuration container for all Umbraco products.",
"properties": {
"Storage": {
"$ref": "#/definitions/UmbracoStorageProvidersDefinition"
"description": "Configuration of Umbraco Storage Providers.",
"oneOf": [
{
"$ref": "#/definitions/StorageDefinition"
}
]
}
}
},
"UmbracoStorageProvidersDefinition": {
"StorageDefinition": {
"type": "object",
"description": "Configuration of Umbraco Storage Providers.",
"description": "Represents the configuration of Umbraco Storage Providers.",
"properties": {
"AzureBlob": {
"$ref": "#/definitions/UmbracoStorageProvidersAzureBlobDefinition"
}
}
},
"UmbracoStorageProvidersAzureBlobDefinition": {
"type": "object",
"description": "Configuration of Umbraco Storage Providers - Azure Blob Storage.",
"properties": {
"Media": {
"$ref": "#/definitions/AzureBlobFileSystemOptions"
}
},
"patternProperties": {
"^(?!Media$).*": {
"allOf": [
{
"$ref": "#/definitions/AzureBlobFileSystemOptions"
},
{
"type": "object",
"required": [
"VirtualPath"
]
}
]
"type": "object",
"description": "Configuration of Umbraco Storage Providers - Azure Blob Storage, keyed by file system name (e.g. \"Media\").",
"additionalProperties": {
"$ref": "#/definitions/AzureBlobFileSystemOptions"
}
}
}
},
Expand All @@ -55,7 +46,8 @@
"description": "The Azure Blob File System options.",
"required": [
"ConnectionString",
"ContainerName"
"ContainerName",
"VirtualPath"
],
"properties": {
"ConnectionString": {
Expand All @@ -79,8 +71,100 @@
"type": "string",
"description": "Gets or sets the virtual path.",
"minLength": 1
},
"Cache": {
"description": "Gets or sets the in-memory cache settings applied to blob metadata lookups by the read-only file provider.",
"oneOf": [
{
"$ref": "#/definitions/AzureBlobFileSystemCacheOptions"
}
]
},
"Retry": {
"description": "Gets or sets the retry and timeout settings applied to the default Blob client.",
"oneOf": [
{
"$ref": "#/definitions/AzureBlobFileSystemRetryOptions"
}
]
}
}
},
"AzureBlobFileSystemCacheOptions": {
"type": "object",
"description": "Cache settings applied to blob metadata lookups performed by the read-only file provider.",
"properties": {
"Enabled": {
"type": "boolean",
"description": "Gets or sets a value indicating whether blob metadata caching is enabled.",
"default": true
},
"HitDuration": {
"type": "string",
"description": "Gets or sets how long a successful metadata lookup is cached.",
"format": "duration",
"default": "00:00:30"
},
"MissDuration": {
"type": "string",
"description": "Gets or sets how long a not-found metadata result is cached.",
"format": "duration",
"default": "00:00:05"
}
}
},
"AzureBlobFileSystemRetryOptions": {
"type": "object",
"description": "Retry and timeout settings applied to the default BlobContainerClient created from AzureBlobFileSystemOptions.",
"properties": {
"MaxRetries": {
"type": "integer",
"description": "Gets or sets the maximum number of retry attempts before giving up.",
"format": "int32",
"default": 2,
"maximum": 2147483647.0,
"minimum": 0.0
},
"NetworkTimeout": {
"type": "string",
"description": "Gets or sets the timeout applied to an individual network operation.",
"format": "duration",
"default": "00:00:30"
},
"Mode": {
"description": "Gets or sets the approach to use for calculating retry delays.",
"default": "Exponential",
"oneOf": [
{
"$ref": "#/definitions/RetryMode"
}
]
},
"Delay": {
"type": "string",
"description": "Gets or sets the delay between retry attempts for a fixed approach or the delay on which to base\ncalculations for a backoff-based approach.",
"format": "duration",
"default": "00:00:00.8000000"
},
"MaxDelay": {
"type": "string",
"description": "Gets or sets the maximum permissible delay between retry attempts when using a backoff approach.",
"format": "duration",
"default": "00:00:05"
}
}
},
"RetryMode": {
"type": "string",
"description": "",
"x-enumNames": [
"Fixed",
"Exponential"
],
"enum": [
"Fixed",
"Exponential"
]
}
}
}
}
Loading