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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/SDKs/ContainerRegistry/dataplane/AzSdk.RP.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--This file and it's contents are updated at build time moving or editing might result in build failure. Take due deligence while editing this file-->
<PropertyGroup>
<AzureApiTag>2018-08-10-preview</AzureApiTag>
<PackageTags>$(PackageTags);$(CommonTags);$(AzureApiTag);</PackageTags>
</PropertyGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$([MSBuild]::GetPathOfFileAbove('AzSdk.test.reference.props'))" />
<PropertyGroup>
<PackageId>ContainerRegistry.Tests</PackageId>
<Description>Microsoft.Azure.ContainerRegistry tests Library</Description>
<AssemblyName>ContainerRegistry.Tests</AssemblyName>
<Version>1.0.0</Version>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Tests\ACRTestUtil.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\ContainerRegistry.Tests\Helpers\RecordedDelegatingHandler.cs" Link="Helpers\RecordedDelegatingHandler.cs" />
</ItemGroup>
<ItemGroup>
<None Update="SessionRecords\**\*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Management.ContainerRegistry" Version="2.0.0" />
<PackageReference Include="Microsoft.Azure.Management.ResourceManager" Version="[1.6.0-preview, 2.0.0)" />
<ProjectReference Include="..\Microsoft.Azure.ContainerRegistry\Microsoft.Azure.ContainerRegistry.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="Helpers\ACRTestUtil.cs" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for
// license information.

namespace ContainerRegistry.Tests
{
using System;
using System.Net;
using System.Threading.Tasks;
using global::ContainerRegistry.Tests;
using Microsoft.Azure.Management.ContainerRegistry;
using Microsoft.Rest;
using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
using Microsoft.Azure.ContainerRegistry;

public static class ACRTestUtil
{
private static readonly string _testResourceGroup = "matttest";

public static readonly string ProdRepository = "prod/bash";
public static readonly string TestRepository = "test/bash";

public static readonly string ManagedTestRegistry = "managedtestregistry";
public static readonly string ManagedTestRegistryFullName = "managedtestregistry.azurecr.io";
public static readonly string ManagedTestRegistryForDeleting = "managedtestregistryfordel";

public static readonly string ClassicTestRegistry = "classictestregistry";
public static readonly string ClassicTestRegistryNameFullName = "classictestregistry.azurecr.io";
public static readonly string ClassicTestRegistryForDeleting = "classictestregistryfordel";

public static async Task<AzureContainerRegistryClient> GetACRClientAsync(MockContext context, string registryName)
{
var registryManagementClient = context.GetServiceClient<ContainerRegistryManagementClient>(handlers: CreateNewRecordedDelegatingHandler());
var registry = await registryManagementClient.Registries.GetAsync(_testResourceGroup, registryName);
var registryCredentials = await registryManagementClient.Registries.ListCredentialsAsync(_testResourceGroup, registryName);
var credential = new BasicAuthenticationCredentials() { UserName= registryCredentials.Username, Password = registryCredentials.Passwords[0].Value };
var acrClient = context.GetServiceClientWithCredentials<AzureContainerRegistryClient>(credential, handlers: CreateNewRecordedDelegatingHandler());
acrClient.BaseUri = new Uri($"https://{registry.LoginServer}");

return acrClient;
}

private static RecordedDelegatingHandler CreateNewRecordedDelegatingHandler()
{
return new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK, IsPassThrough = true };
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
{
"Entries": [
{
"RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/matttest/providers/Microsoft.ContainerRegistry/registries/classictestregistry?api-version=2017-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL21hdHR0ZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9jbGFzc2ljdGVzdHJlZ2lzdHJ5P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"9849e2e6-fe8d-44a1-baf1-b3f07f48b6c7"
],
"accept-language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.26614.01",
"Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Date": [
"Mon, 08 Oct 2018 18:11:48 GMT"
],
"Pragma": [
"no-cache"
],
"Server": [
"Microsoft-HTTPAPI/2.0"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"x-ms-ratelimit-remaining-subscription-reads": [
"11999"
],
"x-ms-request-id": [
"4f2b5c8d-610a-4756-9951-24aec97926cd"
],
"x-ms-correlation-request-id": [
"4f2b5c8d-610a-4756-9951-24aec97926cd"
],
"x-ms-routing-request-id": [
"WESTUS2:20181008T181148Z:4f2b5c8d-610a-4756-9951-24aec97926cd"
],
"X-Content-Type-Options": [
"nosniff"
],
"Content-Length": [
"685"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Classic\",\r\n \"tier\": \"Classic\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/matttest/providers/Microsoft.ContainerRegistry/registries/classictestregistry\",\r\n \"name\": \"classictestregistry\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"classictestregistry.azurecr.io\",\r\n \"creationDate\": \"2018-10-04T17:20:54.3121147Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true,\r\n \"storageAccount\": {\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/matttest/providers/Microsoft.Storage/storageAccounts/classictestregistr172020\"\r\n },\r\n \"firewallRulesEnabled\": false,\r\n \"firewallRules\": []\r\n }\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/matttest/providers/Microsoft.ContainerRegistry/registries/classictestregistry/listCredentials?api-version=2017-10-01",
"EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL21hdHR0ZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9jbGFzc2ljdGVzdHJlZ2lzdHJ5L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx",
"RequestMethod": "POST",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"cfda6493-776b-4753-b587-3914d53b07ef"
],
"accept-language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.26614.01",
"Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0"
]
},
"ResponseHeaders": {
"Cache-Control": [
"no-cache"
],
"Date": [
"Mon, 08 Oct 2018 18:11:48 GMT"
],
"Pragma": [
"no-cache"
],
"Server": [
"Microsoft-HTTPAPI/2.0"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains"
],
"x-ms-ratelimit-remaining-subscription-writes": [
"1199"
],
"x-ms-request-id": [
"d5a0fe2a-460c-495c-8aef-c505da22f8c0"
],
"x-ms-correlation-request-id": [
"d5a0fe2a-460c-495c-8aef-c505da22f8c0"
],
"x-ms-routing-request-id": [
"WESTUS2:20181008T181148Z:d5a0fe2a-460c-495c-8aef-c505da22f8c0"
],
"X-Content-Type-Options": [
"nosniff"
],
"Content-Length": [
"175"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Expires": [
"-1"
]
},
"ResponseBody": "{\r\n \"username\": \"classictestregistry\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"YttZqPE=197fuiZ3Cf7YJIW010OxJvoO\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"/cTqNKa2Mp3TrZakL2BBYVcOEIS5OG4i\"\r\n }\r\n ]\r\n}",
"StatusCode": 200
},
{
"RequestUri": "/acr/v1/prod%2Fbash/_manifests/sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6",
"EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fbWFuaWZlc3RzL3NoYTI1NiUzQWVhYmU1NDdmNzhkNGMxOGM3MDhkZDk3ZWMzMTY2Y2Y3NDY0Y2M2NTFmMWNiYjY3ZTcwZDQwNzQwNWI3YWQ3YjY=",
"RequestMethod": "GET",
"RequestBody": "",
"RequestHeaders": {
"x-ms-client-request-id": [
"95eeee59-3126-43ac-9e85-88d70d36ad65"
],
"accept-language": [
"en-US"
],
"User-Agent": [
"FxVersion/4.6.26614.01",
"Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0-preview"
]
},
"ResponseHeaders": {
"Connection": [
"keep-alive"
],
"Date": [
"Mon, 08 Oct 2018 18:11:50 GMT"
],
"Server": [
"nginx"
],
"Access-Control-Expose-Headers": [
"Docker-Content-Digest",
"WWW-Authenticate",
"Link",
"X-Ms-Correlation-Request-Id"
],
"Docker-Distribution-Api-Version": [
"registry/2.0"
],
"Strict-Transport-Security": [
"max-age=31536000; includeSubDomains",
"max-age=31536000; includeSubDomains"
],
"X-Content-Type-Options": [
"nosniff"
],
"X-Ms-Correlation-Request-Id": [
"9d7817dc-7f91-4985-bb39-99129e2e8e84"
],
"Content-Length": [
"70"
],
"Content-Type": [
"application/json; charset=utf-8"
]
},
"ResponseBody": "{\r\n \"errors\": [\r\n {\r\n \"code\": \"MANIFEST_UNKNOWN\",\r\n \"message\": \"manifest unknown\"\r\n }\r\n ]\r\n}",
"StatusCode": 404
}
],
"Names": {},
"Variables": {
"SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895"
}
}
Loading