/*
* Copyright (c) 2015-2017 Evolveum
*
* Licensed 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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 com.evolveum.midpoint.provisioning.impl.dummy;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;
import java.io.File;
import javax.xml.datatype.XMLGregorianCalendar;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
import org.testng.annotations.Test;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.crypto.EncryptionException;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
import com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.CredentialsCapabilityType;
import com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.PasswordCapabilityType;
/**
* Almost the same as TestDummy but with some extra things, such as:
* readable password
*
* @author Radovan Semancik
*
*/
@ContextConfiguration(locations = "classpath:ctx-provisioning-test-main.xml")
@DirtiesContext
public class TestDummyExtra extends TestDummy {
public static final File TEST_DIR = new File("src/test/resources/impl/dummy-extra/");
public static final File RESOURCE_DUMMY_FILE = new File(TEST_DIR, "resource-dummy.xml");
@Override
protected File getResourceDummyFilename() {
return RESOURCE_DUMMY_FILE;
}
@Override
protected void assertNativeCredentialsCapability(CredentialsCapabilityType capCred) {
PasswordCapabilityType passwordCapabilityType = capCred.getPassword();
assertNotNull("password native capability not present", passwordCapabilityType);
Boolean readable = passwordCapabilityType.isReadable();
assertNotNull("No 'readable' inducation in password capability", readable);
assertTrue("Password not 'readable' in password capability", readable);
}
@Override
protected void checkAccountWill(PrismObject<ShadowType> shadow, OperationResult result, XMLGregorianCalendar startTs, XMLGregorianCalendar endTs) throws SchemaException, EncryptionException {
super.checkAccountWill(shadow, result, startTs, endTs);
assertPassword(shadow.asObjectable(), "3lizab3th");
}
@Test
public void testFakeToEnableDebug() {
}
}