/******************************************************************************* * Signavio Core Components * Copyright (C) 2012 Signavio GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ package com.signavio.platform.test.fsbackend; import junit.framework.Assert; import org.junit.Test; import com.signavio.platform.account.business.FsAccount; import com.signavio.platform.account.business.FsAccountManager; import com.signavio.platform.exceptions.AccountInActiveException; import com.signavio.platform.exceptions.IncorrectPasswordException; import com.signavio.platform.exceptions.PrincipalException; import com.signavio.platform.exceptions.TenantException; import com.signavio.platform.exceptions.TenantInActiveException; import com.signavio.platform.security.business.FsAccessToken; import com.signavio.platform.security.business.FsRootObject; import com.signavio.platform.security.business.FsSecurityManager; import com.signavio.platform.tenant.business.FsTenant; import com.signavio.platform.tenant.business.FsTenantManager; import com.signavio.usermanagement.business.FsRoleManager; import com.signavio.usermanagement.user.business.FsUser; import com.signavio.warehouse.business.FsEntityManager; import com.signavio.warehouse.directory.business.FsDirectory; import com.signavio.warehouse.model.business.FsModel; public class FsAccessTest { @Test public void scriptTest() { } // @Test public void buildStructure() throws TenantInActiveException, AccountInActiveException, PrincipalException, IncorrectPasswordException, TenantException{ // ROOT Level FsAccessToken token = FsSecurityManager.createToken("root", "root", null); FsRootObject root = FsRootObject.getRootObject(token); FsAccountManager accountManager = root.getAccountManager(); FsTenantManager tenantManager = root.getTenantManager(); Assert.assertEquals(accountManager.getChildren(FsAccount.class).size(), 1); Assert.assertEquals(tenantManager.getChildren(FsTenant.class).size(), 1); // Tenant Level FsTenant onlyTenant = tenantManager.getChildren(FsTenant.class).iterator().next(); FsRoleManager roleManagerForTenant = FsRoleManager.getTenantManagerInstance(FsRoleManager.class, onlyTenant, token); FsEntityManager entityManagerForTenant = FsEntityManager.getTenantManagerInstance(FsEntityManager.class, onlyTenant, token); Assert.assertEquals(roleManagerForTenant.getChildren(FsUser.class).size(), 1); // Test Users and Groups.. FsUser onlyUser = roleManagerForTenant.getChildren(FsUser.class).iterator().next(); // Test Entities.. FsDirectory d = entityManagerForTenant.getTenantRootDirectory(); System.out.println("First Iteration:\n----------------"); visitDir(d); // String uuidOfModel = ""; // for (Directory c : d.getChildDirectories()) { // if (c.getName().equals("B")) { // Model m =c.createModel("NAME", "DESCRIPTION", "TYPE", "JSON", "SVG", "BLUB"); // uuidOfModel = m.getId(); // c.setName("BXX"); // } // } // // Model loadedModel = SecurityManager.getInstance().loadObject(Model.class, uuidOfModel, token); // loadedModel.setDescription("DESCRIPTION NEW"); // loadedModel.setName("NAME X"); // // System.out.println("\nSecond Iteration:\n----------------"); // visitDir(d); } private void visitDir(FsDirectory d) { System.out.println("Children of "+ d.getName()+ " :"); for (FsModel m : d.getChildModels()){ System.out.println(" " + m.getName()); } System.out.println("ChildDirectories of "+ d.getName()+ " :"); for (FsDirectory c : d.getChildDirectories()) { System.out.println(" " + c.getName() + " - " + c.getDescription()); } System.out.println(""); for (FsDirectory c : d.getChildDirectories()) { visitDir(c); } } }