blob: 0844bf0d2f63bd3ab015e4fc7a48f5731a37712a [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* 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 org.apache.atlas.repository.impexp;
import org.apache.atlas.model.impexp.AtlasImportRequest;
import org.apache.atlas.type.AtlasType;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
public class AtlasImportRequestTest {
@Test
public void serializeAtlasImportRequstFromJsonWithEmptyOptions() {
String jsonData = "{ \"options\": {} }";
AtlasImportRequest request = AtlasType.fromJson(jsonData, AtlasImportRequest.class);
assertNotNull(request);
assertNotNull(request.getOptions());
assertNull(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
ImportTransforms tr = ImportTransforms.fromJson(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
assertNull(tr);
}
@Test
public void serializeAtlasImportRequstFromJsonWithEmptyTransforms() {
String jsonData = "{ \"options\": { \"transforms\": \"{ }\" } }";
AtlasImportRequest request = AtlasType.fromJson(jsonData, AtlasImportRequest.class);
assertNotNull(request);
assertNotNull(request.getOptions());
assertNotNull(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
ImportTransforms tr = ImportTransforms.fromJson(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
assertNotNull(tr);
assertNotNull(tr.getTransforms());
assertEquals(tr.getTransforms().size(), 0);
}
@Test
public void serializeAtlasImportRequstFromJsonWith1Transform() {
String jsonData = "{ \"options\": { \"transforms\": \"{ \\\"hive_db\\\": { \\\"qualifiedName\\\": [ \\\"replace:@cl1:@cl2\\\" ] } }\" } }";
AtlasImportRequest request = AtlasType.fromJson(jsonData, AtlasImportRequest.class);
assertNotNull(request);
assertNotNull(request.getOptions());
assertNotNull(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
ImportTransforms tr = ImportTransforms.fromJson(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
assertNotNull(tr);
assertNotNull(tr.getTransforms());
assertEquals(tr.getTransforms().size(), 1);
assertTrue(tr.getTransforms().containsKey("hive_db"));
assertEquals(tr.getTransforms("hive_db").entrySet().size(), 1);
assertTrue(tr.getTransforms("hive_db").containsKey("qualifiedName"));
assertEquals(tr.getTransforms("hive_db").get("qualifiedName").size(), 1);
}
@Test
public void serializeAtlasImportRequstFromJson() {
String jsonData = "{ \"options\": { \"transforms\": \"{ \\\"hive_db\\\": { \\\"qualifiedName\\\": [ \\\"replace:@cl1:@cl2\\\" ] }, \\\"hive_table\\\": { \\\"qualifiedName\\\": [ \\\"lowercase\\\", \\\"replace:@cl1:@cl2\\\" ] } }\" } } }";
AtlasImportRequest request = AtlasType.fromJson(jsonData, AtlasImportRequest.class);
assertNotNull(request);
assertNotNull(request.getOptions());
assertNotNull(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
ImportTransforms tr = ImportTransforms.fromJson(request.getOptions().get(AtlasImportRequest.TRANSFORMS_KEY));
assertNotNull(tr);
assertNotNull(tr.getTransforms());
assertEquals(tr.getTransforms().size(), 2);
assertTrue(tr.getTransforms().containsKey("hive_db"));
assertEquals(tr.getTransforms("hive_db").entrySet().size(), 1);
assertTrue(tr.getTransforms("hive_db").containsKey("qualifiedName"));
assertEquals(tr.getTransforms("hive_db").get("qualifiedName").size(), 1);
assertTrue(tr.getTransforms().containsKey("hive_table"));
assertEquals(tr.getTransforms("hive_table").entrySet().size(), 1);
assertTrue(tr.getTransforms("hive_table").containsKey("qualifiedName"));
assertEquals(tr.getTransforms("hive_table").get("qualifiedName").size(), 2);
}
}