@@ -0,0 +1,2420 @@
+/*%0A * Copyright 2017, TeamDev Ltd. All rights reserved.%0A *%0A * Redistribution and use in source and/or binary forms, with or without%0A * modification, must retain the above copyright notice and the following%0A * disclaimer.%0A *%0A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS%0A * %22AS IS%22 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT%0A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR%0A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT%0A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,%0A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT%0A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,%0A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY%0A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT%0A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE%0A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0A */%0A%0Apackage org.spine3.server.storage.memory;%0A%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.spine3.server.users.CurrentTenant;%0Aimport org.spine3.users.TenantId;%0A%0Aimport static org.junit.Assert.assertNotNull;%0Aimport static org.spine3.base.Identifiers.newUuid;%0A%0A/**%0A * @author Alexander Yevsyukov%0A */%0Apublic class MultitenantStorageShould %7B%0A%0A    private MultitenantStorage storage;%0A%0A    @Before%0A    public void setUp() %7B%0A        storage = new MultiStorage(true);%0A    %7D%0A%0A    @Test(expected = IllegalStateException.class)%0A    public void report_missing_tenant_under_multitenant_context() %7B%0A        // Make sure we don't have current tenant.%0A        CurrentTenant.clear();%0A%0A        // Obtaining storage for the current tenant should cause exception.%0A        storage.getStorage();%0A    %7D%0A%0A    @Test%0A    public void obtain_storage_for_current_tenant() %7B%0A        CurrentTenant.set(TenantId.newBuilder()%0A                                  .setValue(newUuid())%0A                                  .build());%0A%0A        final TenantStorage tenantStorage = storage.getStorage();%0A        assertNotNull(tenantStorage);%0A    %7D%0A%0A    private static class MultiStorage extends MultitenantStorage%3CTenantCommands%3E %7B%0A%0A        MultiStorage(boolean multitenant) %7B%0A            super(multitenant);%0A        %7D%0A%0A        @Override%0A        TenantCommands createSlice() %7B%0A            return new TenantCommands();%0A        %7D%0A    %7D%0A%7D%0A

Test `MultitenantStorage`