From 7ddba92a394b5e5fd67eda50b6ee25b38e53e7b9 Mon Sep 17 00:00:00 2001
From: Valery Sizov <valery@gitlab.com>
Date: Mon, 2 Feb 2015 13:52:44 -0800
Subject: [PATCH] Gitlab integration: added tests

---
 lib/gitlab/gitlab_import/project_creator.rb   |  2 +-
 .../gitlab/gitlab_import/project_creator.rb   | 25 +++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 spec/lib/gitlab/gitlab_import/project_creator.rb

diff --git a/lib/gitlab/gitlab_import/project_creator.rb b/lib/gitlab/gitlab_import/project_creator.rb
index affd828e816..6424d56f8f1 100644
--- a/lib/gitlab/gitlab_import/project_creator.rb
+++ b/lib/gitlab/gitlab_import/project_creator.rb
@@ -19,7 +19,7 @@ module Gitlab
           visibility_level: repo["visibility_level"],
           import_type: "gitlab",
           import_source: repo["path_with_namespace"],
-          import_url: repo["http_url_to_repo"]#.sub("://", "://oauth2@#{current_user.gitlab_access_token}")
+          import_url: repo["http_url_to_repo"].sub("://", "://oauth2:#{current_user.gitlab_access_token}@")
         )
 
         if @project.save!
diff --git a/spec/lib/gitlab/gitlab_import/project_creator.rb b/spec/lib/gitlab/gitlab_import/project_creator.rb
new file mode 100644
index 00000000000..51f3534ed60
--- /dev/null
+++ b/spec/lib/gitlab/gitlab_import/project_creator.rb
@@ -0,0 +1,25 @@
+require 'spec_helper'
+
+describe Gitlab::GitlabImport::ProjectCreator do
+  let(:user) { create(:user, gitlab_access_token: "asdffg") }
+  let(:repo) {{
+    name: 'vim',
+    path: 'vim',
+    visibility_level: Gitlab::VisibilityLevel::PRIVATE,
+    path_with_namespace: 'asd/vim',
+    http_url_to_repo: "https://gitlab.com/asd/vim.git",
+    owner: {name: "john"}}.with_indifferent_access
+  }
+  let(:namespace){ create(:namespace) }
+
+  it 'creates project' do
+    Project.any_instance.stub(:add_import_job)
+    
+    project_creator = Gitlab::GitlabImport::ProjectCreator.new(repo, namespace, user)
+    project_creator.execute
+    project = Project.last
+    
+    project.import_url.should ==  "https://oauth2:asdffg@gitlab.com/asd/vim.git"
+    project.visibility_level.should == Gitlab::VisibilityLevel::PRIVATE
+  end
+end
-- 
GitLab