• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account Log out
  • Favorite
  • Project
  • Recent History
Loading...
  • Log in
  • Sign up
kadrians / Testing_for_YONA star
  • Project homeH
  • CodeC
  • IssueI 1
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB 2
  • Files
  • Commit
  • Branches
Testing_for_YONAsourcetestcontrollersImportAppTest.java
Download as .zip file
File name
Commit message
Commit date
bin
Yona 1.16.0 Upload
02-04
lib
Yona 1.16.0 Upload
02-04
share/doc/api
Yona 1.16.0 Upload
02-04
source
Source Code Upload
02-04
README.md
Yona 1.16.0 Upload
02-04
File name
Commit message
Commit date
app
Source Code Upload
02-04
conf
Source Code Upload
02-04
docs
Source Code Upload
02-04
lib
Source Code Upload
02-04
project
Source Code Upload
02-04
public
Source Code Upload
02-04
support-script
Source Code Upload
02-04
test
Source Code Upload
02-04
.gitignore
Source Code Upload
02-04
.mailmap
Source Code Upload
02-04
.travis.yml
Source Code Upload
02-04
AUTHORS
Source Code Upload
02-04
LICENSE
Source Code Upload
02-04
NOTICE
Source Code Upload
02-04
README.md
Source Code Upload
02-04
build.sbt
Source Code Upload
02-04
dev.sh
Source Code Upload
02-04
dist.sh
Source Code Upload
02-04
is-alive-bot.sh
Source Code Upload
02-04
minify-js.sh
Source Code Upload
02-04
restart.sh
Source Code Upload
02-04
File name
Commit message
Commit date
actions/support
Source Code Upload
02-04
actors
Source Code Upload
02-04
controllers
Source Code Upload
02-04
mailbox
Source Code Upload
02-04
models
Source Code Upload
02-04
playRepository
Source Code Upload
02-04
support
Source Code Upload
02-04
utils
Source Code Upload
02-04
validation
Source Code Upload
02-04
File name
Commit message
Commit date
api
Source Code Upload
02-04
ApplicationTest.java
Source Code Upload
02-04
CommentAppTest.java
Source Code Upload
02-04
EnrollProjectAppTest.java
Source Code Upload
02-04
ImportAppTest.java
Source Code Upload
02-04
IssueAppTest.java
Source Code Upload
02-04
MarkdownAppTest.java
Source Code Upload
02-04
PasswordResetAppTest.java
Source Code Upload
02-04
ProjectAppTest.java
Source Code Upload
02-04
PullRequestAppTest.java
Source Code Upload
02-04
ReviewThreadAppTest.java
Source Code Upload
02-04
SiteAppTest.java
Source Code Upload
02-04
UserAppTest.java
Source Code Upload
02-04
WatchProjectAppTest.java
Source Code Upload
02-04
Nell 02-04 2600fe6 Source Code Upload UNIX
Raw Open in browser Change history
/** * Yobi, Project Hosting SW * * Copyright 2013 NAVER Corp. * http://yobi.io * * @Author kjkmadness * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package controllers; import static org.fest.assertions.Assertions.*; import static play.test.Helpers.*; import java.io.File; import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; import models.Project; import models.User; import org.junit.*; import controllers.routes.ref; import play.i18n.Lang; import play.i18n.Messages; import play.mvc.Http; import play.mvc.Result; import play.test.FakeApplication; import playRepository.GitRepository; import utils.Constants; public class ImportAppTest { private static FakeApplication application; private static User yobi; private static Project src; private static Project dest; private static Map<String, String> formData; @BeforeClass public static void before() throws Exception { GitRepository.setRepoPrefix("resources/test/repo/git/"); application = support.Helpers.makeTestApplication(); start(application); yobi = User.findByLoginId("yobi"); src = project(yobi.loginId, "src"); dest = project(yobi.loginId, "dest"); createRepository(src); formData = new HashMap<>(); } @AfterClass public static void after() { stop(application); support.Files.rm_rf(new File(GitRepository.getRepoPrefix())); } @Test public void importFormAnonymous() { // When Result result = callAction(ref.ImportApp.importForm(), fakeRequest(GET, routes.ImportApp.importForm().url())); // Then assertThat(status(result)).isEqualTo(SEE_OTHER); assertThat(header(LOCATION, result)).isEqualTo( routes.UserApp.loginForm().url() + "?redirectUrl=" + routes.ImportApp.importForm().url()); } @Test public void importForm() { // Given User user = User.find.byId(2L); // When Result result = callAction(ref.ImportApp.importForm(), fakeRequest().withSession(UserApp.SESSION_USERID, String.valueOf(user.id))); // Then assertThat(status(result)).isEqualTo(OK); } @Test public void newProject() throws Exception { // Given formData.put("url", GitRepository.getGitDirectoryURL(src)); formData.put("owner", yobi.loginId); formData.put("name", dest.name); formData.put("projectScope", "PUBLIC"); formData.put("vcs", "GIT"); // When Result result = callAction(ref.ImportApp.newProject(), fakeRequest() .withSession(UserApp.SESSION_USERID, String.valueOf(yobi.id)) .withFormUrlEncodedBody(formData)); // Then assertThat(status(result)).isEqualTo(SEE_OTHER); assertThat(header(LOCATION, result)).isEqualTo(routes.ProjectApp.project(dest.owner, dest.name).url()); assertThat(Project.findByOwnerAndProjectName(dest.owner, dest.name)).isNotNull(); assertThat(new File(GitRepository.getGitDirectoryURL(dest)).exists()).isTrue(); } @Test public void newProjectAnonymous() { // When Result result = callAction(ref.ImportApp.newProject()); // Then assertThat(status(result)).isEqualTo(FORBIDDEN); } @Test public void newProjectNoUrl() { // Given formData.put("owner", yobi.loginId); formData.put("name", dest.name); formData.put("projectScope", "PUBLIC"); formData.put("vcs", "GIT"); // When Result result = callAction(ref.ImportApp.newProject(), fakeRequest() .withSession(UserApp.SESSION_USERID, String.valueOf(yobi.id)) .withFormUrlEncodedBody(formData) .withHeader(Http.HeaderNames.ACCEPT_LANGUAGE, Lang.defaultLang().language())); // Then assertThat(status(result)).isEqualTo(BAD_REQUEST); assertThat(contentAsString(result)).contains(Messages.get(Lang.defaultLang(), "project.import.error.empty.url")); } @Test public void newProjectDuplicatedName() throws Exception { // Given formData.put("url", GitRepository.getGitDirectoryURL(src)); formData.put("owner", yobi.loginId); formData.put("name", "projectYobi"); formData.put("projectScope", "PUBLIC"); formData.put("vcs", "GIT"); // When Result result = callAction(ref.ImportApp.newProject(), fakeRequest() .withSession(UserApp.SESSION_USERID, String.valueOf(yobi.id)) .withFormUrlEncodedBody(formData) .withHeader(Http.HeaderNames.ACCEPT_LANGUAGE, Lang.defaultLang().language())); // Then assertThat(status(result)).isEqualTo(BAD_REQUEST); assertThat(contentAsString(result)).contains(Messages.get(Lang.defaultLang(), "project.name.duplicate")); } @Test public void newProjectWrongName() throws Exception { // Given formData.put("url", GitRepository.getGitDirectoryURL(src)); formData.put("owner", yobi.loginId); formData.put("name", "!@#$%"); formData.put("projectScope", "PUBLIC"); formData.put("vcs", "GIT"); // When Result result = callAction(ref.ImportApp.newProject(), fakeRequest() .withSession(UserApp.SESSION_USERID, String.valueOf(yobi.id)) .withFormUrlEncodedBody(formData) .withHeader(Http.HeaderNames.ACCEPT_LANGUAGE, Lang.defaultLang().language())); // Then assertThat(status(result)).isEqualTo(BAD_REQUEST); assertThat(contentAsString(result)).contains(Messages.get(Lang.defaultLang(), "project.name.alert")); } private static Project project(String owner, String name) { Project project = new Project(); project.owner = owner; project.name = name; return project; } private static void createRepository(Project project) throws Exception { GitRepository gitRepository = new GitRepository(project); gitRepository.create(); gitRepository.close(); } }

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
login with Google Sign in with Google
Reset password | Sign up