From 4726ff9dbee74d00544c7eb1ea188ecdfe16d7e8 Mon Sep 17 00:00:00 2001
From: Grzegorz Bizon <grzesiek.bizon@gmail.com>
Date: Fri, 31 Mar 2017 12:37:44 +0200
Subject: [PATCH] Add test example for invalid registry access request

---
 .../container_registry_authentication_service.rb    |  2 --
 ...ontainer_registry_authentication_service_spec.rb | 13 +++++++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/app/services/auth/container_registry_authentication_service.rb b/app/services/auth/container_registry_authentication_service.rb
index d58ff589be1..5e151b0f044 100644
--- a/app/services/auth/container_registry_authentication_service.rb
+++ b/app/services/auth/container_registry_authentication_service.rb
@@ -64,8 +64,6 @@ module Auth
     end
 
     def process_repository_access(type, path, actions)
-      # TODO, add specs for invalid paths
-      #
       return unless path.valid?
 
       requested_project = path.repository_project
diff --git a/spec/services/auth/container_registry_authentication_service_spec.rb b/spec/services/auth/container_registry_authentication_service_spec.rb
index a4a6430011e..e273dfe1552 100644
--- a/spec/services/auth/container_registry_authentication_service_spec.rb
+++ b/spec/services/auth/container_registry_authentication_service_spec.rb
@@ -81,13 +81,13 @@ describe Auth::ContainerRegistryAuthenticationService, services: true do
   end
 
   shared_examples 'container repository factory' do
-    it 'creates a new containe repository resource' do
+    it 'creates a new container repository resource' do
       expect { subject }
         .to change { project.container_repositories.count }.by(1)
     end
   end
 
-  shared_examples 'container repository factory' do
+  shared_examples 'not a container repository factory' do
     it 'does not create a new container repository resource' do
       expect { subject }.not_to change { ContainerRepository.count }
     end
@@ -183,6 +183,15 @@ describe Auth::ContainerRegistryAuthenticationService, services: true do
         it_behaves_like 'an inaccessible'
         it_behaves_like 'not a container repository factory'
       end
+
+      context 'when repository name is invalid' do
+        let(:current_params) do
+          { scope: 'repository:invalid:push' }
+        end
+
+        it_behaves_like 'an inaccessible'
+        it_behaves_like 'not a container repository factory'
+      end
     end
 
     context 'for internal project' do
-- 
GitLab