@@ -0,0 +1,1784 @@
+/*%0A * Copyright 2020 Google LLC%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *       http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage com.google.cloud.storage.contrib.nio;%0A%0Aimport static com.google.common.truth.Truth.assertThat;%0A%0Aimport java.net.URI;%0Aimport java.nio.file.Path;%0Aimport java.nio.file.Paths;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.junit.runners.JUnit4;%0A%0A/**%0A * Unit tests for %7B@link CloudStorageFileSystemProvider%7D. Makes sure the NIO system picks it up%0A * properly.%0A */%0A@RunWith(JUnit4.class)%0Apublic class NIOTest %7B%0A%0A  private URI uriToCloudStorage;%0A%0A  @Before%0A  public void setUp() %7B%0A    uriToCloudStorage = URI.create(%22gs://bucket/file.txt%22);%0A  %7D%0A%0A  /** We can create a Path object from a gs:// URI. * */%0A  @Test%0A  public void testCreatePath() %7B%0A    // Return value ignored on purpose, we just want to check%0A    // no exception is thrown.%0A    Path path = Paths.get(uriToCloudStorage);%0A    // Truth bug workaround, see https://github.com/google/truth/issues/285%0A    assertThat((Object) path).isNotNull();%0A  %7D%0A%0A  /** The created Path object has the correct scheme. * */%0A  @Test%0A  public void testCreatedPathIsGS() %7B%0A    Path path = Paths.get(uriToCloudStorage);%0A    assertThat(path.getFileSystem().provider().getScheme()).isEqualTo(%22gs%22);%0A  %7D%0A%7D%0A

test that Java picks up the NIO provider (#284)