2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
 
   4  * This program and the accompanying materials are made available under the
 
   5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 
   6  * and is available at http://www.eclipse.org/legal/epl-v10.html
 
   9 package org.opendaylight.aaa.authn.mdsal.store;
 
  11 import org.junit.Assert;
 
  12 import org.junit.Test;
 
  13 import org.opendaylight.aaa.api.IDMStoreUtil;
 
  14 import org.opendaylight.aaa.api.SHA256Calculator;
 
  15 import org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Domain;
 
  16 import org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Grant;
 
  17 import org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.Role;
 
  18 import org.opendaylight.yang.gen.v1.urn.aaa.yang.authn.claims.rev141029.authentication.User;
 
  20 public class IDMStoreTest {
 
  23     public void testWriteDomain() throws Exception {
 
  24         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  25         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  26         util.addMokitoFordomain();
 
  27         Domain domain = testedObject.writeDomain(util.domain);
 
  28         Assert.assertNotNull(domain);
 
  29         Assert.assertEquals(domain.getDomainid(), util.domain.getName());
 
  33     public void testReadDomain() throws Exception {
 
  34         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  35         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  36         util.addMokitoFordomain();
 
  37         Domain domain = testedObject.readDomain(util.domain.getDomainid());
 
  38         Assert.assertNotNull(domain);
 
  39         Assert.assertEquals(domain, util.domain);
 
  43     public void testDeleteDomain() throws Exception {
 
  44         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  45         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  46         util.addMokitoFordomain();
 
  47         Domain domain = testedObject.deleteDomain(util.domain.getDomainid());
 
  48         Assert.assertEquals(domain, util.domain);
 
  52     public void testUpdateDomain() throws Exception {
 
  53         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  54         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  55         util.addMokitoFordomain();
 
  56         Domain domain = testedObject.updateDomain(util.domain);
 
  57         Assert.assertEquals(domain, util.domain);
 
  61     public void testWriteRole() throws Exception {
 
  62         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  63         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  64         util.addMokitoForrole();
 
  65         util.addMokitoFordomain();
 
  66         Role role = testedObject.writeRole(util.role);
 
  67         Assert.assertNotNull(role);
 
  68         Assert.assertEquals(role.getRoleid(),
 
  69                 IDMStoreUtil.createRoleid(role.getName(), role.getDomainid()));
 
  73     public void testReadRole() throws Exception {
 
  74         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  75         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  76         util.addMokitoForrole();
 
  77         Role role = testedObject.readRole(util.role.getRoleid());
 
  78         Assert.assertNotNull(role);
 
  79         Assert.assertEquals(role, util.role);
 
  83     public void testDeleteRole() throws Exception {
 
  84         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  85         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  86         util.addMokitoForrole();
 
  87         Role role = testedObject.deleteRole(util.role.getRoleid());
 
  88         Assert.assertNotNull(role);
 
  89         Assert.assertEquals(role, util.role);
 
  93     public void testUpdateRole() throws Exception {
 
  94         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
  95         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
  96         util.addMokitoForrole();
 
  97         Role role = testedObject.updateRole(util.role);
 
  98         Assert.assertNotNull(role);
 
  99         Assert.assertEquals(role, util.role);
 
 103     public void testWriteUser() throws Exception {
 
 104         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 105         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 106         util.addMokitoForuser();
 
 107         User user = testedObject.writeUser(util.user);
 
 108         Assert.assertNotNull(user);
 
 109         Assert.assertEquals(user.getUserid(),
 
 110                 IDMStoreUtil.createUserid(user.getName(), util.user.getDomainid()));
 
 114     public void testReadUser() throws Exception {
 
 115         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 116         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 117         util.addMokitoForuser();
 
 118         User user = testedObject.readUser(util.user.getUserid());
 
 119         Assert.assertNotNull(user);
 
 120         Assert.assertEquals(user, util.user);
 
 124     public void testDeleteUser() throws Exception {
 
 125         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 126         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 127         util.addMokitoForuser();
 
 128         User user = testedObject.deleteUser(util.user.getUserid());
 
 129         Assert.assertNotNull(user);
 
 130         Assert.assertEquals(user, util.user);
 
 134     public void testUpdateUser() throws Exception {
 
 135         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 136         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 137         util.addMokitoForuser();
 
 138         User user = testedObject.updateUser(util.user);
 
 139         Assert.assertNotNull(user);
 
 140         Assert.assertEquals(user.getPassword(),
 
 141                 SHA256Calculator.getSHA256(util.user.getPassword(), util.user.getSalt()));
 
 145     public void testWriteGrant() throws Exception {
 
 146         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 147         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 148         util.addMokitoFordomain();
 
 149         util.addMokitoForrole();
 
 150         util.addMokitoForuser();
 
 151         util.addMokitoForgrant();
 
 152         Grant grant = testedObject.writeGrant(util.grant);
 
 153         Assert.assertNotNull(grant);
 
 157     public void testReadGrant() throws Exception {
 
 158         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 159         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 160         util.addMokitoForgrant();
 
 161         Grant grant = testedObject.readGrant(util.grant.getGrantid());
 
 162         Assert.assertNotNull(grant);
 
 163         Assert.assertEquals(grant, util.grant);
 
 167     public void testDeleteGrant() throws Exception {
 
 168         IDMStoreTestUtil util = new IDMStoreTestUtil();
 
 169         IDMMDSALStore testedObject = new IDMMDSALStore(util.dataBroker);
 
 170         util.addMokitoForgrant();
 
 171         Grant grant = testedObject.deleteGrant(util.grant.getGrantid());
 
 172         Assert.assertNotNull(grant);
 
 173         Assert.assertEquals(grant, util.grant);