View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.syncope.core.persistence.jpa.inner;
20  
21  import java.util.List;
22  import org.apache.syncope.common.lib.policy.DefaultAccessPolicyConf;
23  import org.apache.syncope.common.lib.policy.DefaultAttrReleasePolicyConf;
24  import org.apache.syncope.common.lib.policy.DefaultAuthPolicyConf;
25  import org.apache.syncope.common.lib.policy.DefaultTicketExpirationPolicyConf;
26  import org.apache.syncope.core.persistence.api.dao.PolicyDAO;
27  import org.apache.syncope.core.persistence.api.entity.policy.AccessPolicy;
28  import org.apache.syncope.core.persistence.api.entity.policy.AttrReleasePolicy;
29  import org.apache.syncope.core.persistence.api.entity.policy.AuthPolicy;
30  import org.apache.syncope.core.persistence.api.entity.policy.TicketExpirationPolicy;
31  import org.apache.syncope.core.persistence.jpa.AbstractTest;
32  import org.springframework.beans.factory.annotation.Autowired;
33  
34  public class AbstractClientAppTest extends AbstractTest {
35  
36      @Autowired
37      protected PolicyDAO policyDAO;
38  
39      protected AttrReleasePolicy buildAndSaveAttrRelPolicy() {
40          AttrReleasePolicy attrRelPolicy = entityFactory.newEntity(AttrReleasePolicy.class);
41          attrRelPolicy.setName("AttrRelPolicyTest");
42          attrRelPolicy.setStatus(Boolean.TRUE);
43  
44          DefaultAttrReleasePolicyConf conf = new DefaultAttrReleasePolicyConf();
45          conf.getAllowedAttrs().addAll(List.of("cn", "givenName"));
46          conf.getIncludeOnlyAttrs().add("cn");
47  
48          attrRelPolicy.setConf(conf);
49  
50          return policyDAO.save(attrRelPolicy);
51  
52      }
53  
54      protected AccessPolicy buildAndSaveAccessPolicy() {
55          AccessPolicy accessPolicy = entityFactory.newEntity(AccessPolicy.class);
56          accessPolicy.setName("AccessPolicyTest");
57  
58          DefaultAccessPolicyConf conf = new DefaultAccessPolicyConf();
59          conf.setEnabled(true);
60          conf.setSsoEnabled(false);
61          conf.getRequiredAttrs().put("attribute1", "value1,value2");
62          accessPolicy.setConf(conf);
63  
64          return policyDAO.save(accessPolicy);
65      }
66  
67      protected AuthPolicy buildAndSaveAuthPolicy() {
68          AuthPolicy authPolicy = entityFactory.newEntity(AuthPolicy.class);
69          authPolicy.setName("AuthPolicyTest");
70  
71          DefaultAuthPolicyConf conf = new DefaultAuthPolicyConf();
72          conf.getAuthModules().addAll(List.of("LdapAuthentication1", "DatabaseAuthentication2"));
73          authPolicy.setConf(conf);
74  
75          return policyDAO.save(authPolicy);
76      }
77  
78      protected TicketExpirationPolicy buildAndSaveTicketExpirationPolicy() {
79          TicketExpirationPolicy ticketExpirationPolicy = entityFactory.newEntity(TicketExpirationPolicy.class);
80          ticketExpirationPolicy.setName("TicketExpirationPolicyTest");
81  
82          DefaultTicketExpirationPolicyConf conf = new DefaultTicketExpirationPolicyConf();
83          DefaultTicketExpirationPolicyConf.TGTConf tgtConf = new DefaultTicketExpirationPolicyConf.TGTConf();
84          tgtConf.setMaxTimeToLiveInSeconds(110);
85          conf.setTgtConf(tgtConf);
86          DefaultTicketExpirationPolicyConf.STConf stConf = new DefaultTicketExpirationPolicyConf.STConf();
87          stConf.setMaxTimeToLiveInSeconds(0);
88          stConf.setNumberOfUses(1);
89          conf.setStConf(stConf);
90          ticketExpirationPolicy.setConf(conf);
91  
92          return policyDAO.save(ticketExpirationPolicy);
93      }
94  }