From 4fcac9d2cbdafb51e3ee9ca3b3da64fd86103174 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 26 Nov 2013 15:58:15 -0500 Subject: [PATCH] Remove artifact setting from manager dialog --- src/test/java/com/gitblit/tests/JnaUtilsTest.java | 156 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 105 insertions(+), 51 deletions(-) diff --git a/src/test/java/com/gitblit/tests/JnaUtilsTest.java b/src/test/java/com/gitblit/tests/JnaUtilsTest.java index 574686b..9678215 100644 --- a/src/test/java/com/gitblit/tests/JnaUtilsTest.java +++ b/src/test/java/com/gitblit/tests/JnaUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2011 gitblit.com. + * Copyright 2013 gitblit.com. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,12 +15,12 @@ */ package com.gitblit.tests; -import com.gitblit.utils.JGitUtils; -import com.gitblit.utils.JnaUtils; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.io.File; import java.io.IOException; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import org.apache.commons.io.FileUtils; import org.eclipse.jgit.lib.Repository; @@ -29,6 +29,9 @@ import org.eclipse.jgit.util.FS; import org.junit.Test; +import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.JnaUtils; + /** * * @author Florian Zschocke @@ -36,65 +39,116 @@ public class JnaUtilsTest { @Test + public void testGetgid() { + if (JnaUtils.isWindows()) { + try { + JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES); + } catch(UnsupportedOperationException e) {} + } + else { + int gid = JnaUtils.getgid(); + assertTrue(gid >= 0); + int egid = JnaUtils.getegid(); + assertTrue(egid >= 0); + assertTrue("Really? You're running unit tests as root?!", gid > 0); + System.out.println("gid: " + gid + " egid: " + egid); + } + } + + + @Test public void testGetFilemode() throws IOException { - String repositoryName = "NewJnaTestRepository.git"; - Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName); - File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); - assertTrue(folder.exists()); + if (JnaUtils.isWindows()) { + try { + JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES); + } catch(UnsupportedOperationException e) {} + } + else { + String repositoryName = "NewJnaTestRepository.git"; + Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName); + File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); + assertTrue(folder.exists()); - int mode = JnaUtils.getFilemode(folder); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory - assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access + int mode = JnaUtils.getFilemode(folder); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory + assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access - mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory - assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access + mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory + assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access - repository.close(); - RepositoryCache.close(repository); - FileUtils.deleteDirectory(repository.getDirectory()); + repository.close(); + RepositoryCache.close(repository); + FileUtils.deleteDirectory(repository.getDirectory()); + } } @Test public void testSetFilemode() throws IOException { - String repositoryName = "NewJnaTestRepository.git"; - Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName); - File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); - assertTrue(folder.exists()); + if (JnaUtils.isWindows()) { + try { + JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES); + } catch(UnsupportedOperationException e) {} + } + else { + String repositoryName = "NewJnaTestRepository.git"; + Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName); + File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); + assertTrue(folder.exists()); - File path = new File(folder, "refs"); - int mode = JnaUtils.getFilemode(path); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory - assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access + File path = new File(folder, "refs"); + int mode = JnaUtils.getFilemode(path); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_IFDIR, (mode & JnaUtils.S_IFMT)); // directory + assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR | JnaUtils.S_IXUSR, (mode & JnaUtils.S_IRWXU)); // owner full access - mode |= JnaUtils.S_ISGID; - mode |= JnaUtils.S_IRWXG; - int ret = JnaUtils.setFilemode(path, mode); - assertEquals(0, ret); - mode = JnaUtils.getFilemode(path); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_ISGID, (mode & JnaUtils.S_ISGID)); // set-gid-bit set - assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP | JnaUtils.S_IXGRP, (mode & JnaUtils.S_IRWXG)); // group full access + mode |= JnaUtils.S_ISGID; + mode |= JnaUtils.S_IRWXG; + int ret = JnaUtils.setFilemode(path, mode); + assertEquals(0, ret); + mode = JnaUtils.getFilemode(path); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_ISGID, (mode & JnaUtils.S_ISGID)); // set-gid-bit set + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP | JnaUtils.S_IXGRP, (mode & JnaUtils.S_IRWXG)); // group full access - path = new File(folder, "config"); - mode = JnaUtils.getFilemode(path.getAbsolutePath()); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory - assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access + path = new File(folder, "config"); + mode = JnaUtils.getFilemode(path.getAbsolutePath()); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_IFREG, (mode & JnaUtils.S_IFMT)); // directory + assertEquals(JnaUtils.S_IRUSR | JnaUtils.S_IWUSR, (mode & JnaUtils.S_IRWXU)); // owner full access - mode |= (JnaUtils.S_IRGRP | JnaUtils.S_IWGRP); - ret = JnaUtils.setFilemode(path.getAbsolutePath(), mode); - assertEquals(0, ret); - mode = JnaUtils.getFilemode(path.getAbsolutePath()); - assertTrue(mode > 0); - assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, (mode & JnaUtils.S_IRWXG)); // group full access + mode |= (JnaUtils.S_IRGRP | JnaUtils.S_IWGRP); + ret = JnaUtils.setFilemode(path.getAbsolutePath(), mode); + assertEquals(0, ret); + mode = JnaUtils.getFilemode(path.getAbsolutePath()); + assertTrue(mode > 0); + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, (mode & JnaUtils.S_IRWXG)); // group full access - repository.close(); - RepositoryCache.close(repository); - FileUtils.deleteDirectory(repository.getDirectory()); + repository.close(); + RepositoryCache.close(repository); + FileUtils.deleteDirectory(repository.getDirectory()); + } } + + + @Test + public void testGetFilestat() { + if (JnaUtils.isWindows()) { + try { + JnaUtils.getFilemode(GitBlitSuite.REPOSITORIES); + } catch(UnsupportedOperationException e) {} + } + else { + JnaUtils.Filestat stat = JnaUtils.getFilestat(GitBlitSuite.REPOSITORIES); + assertNotNull(stat); + assertTrue(stat.mode > 0); + assertTrue(stat.uid > 0); + assertTrue(stat.gid > 0); + } + } + + } -- Gitblit v1.9.1