View Javadoc
1   /*
2    * Cloudformation Plugin for SonarQube
3    * Copyright (C) 2019 James Pether Sörling
4    * james@hack23.com
5    *
6    * This program is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 3 of the License, or (at your option) any later version.
10   *
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with this program; if not, write to the Free Software Foundation,
18   * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19   */
20  package com.hack23.sonar.cloudformation;
21  
22  import org.junit.Assert;
23  import org.junit.Test;
24  import org.sonar.api.server.profile.BuiltInQualityProfilesDefinition.BuiltInQualityProfile;
25  import org.sonar.api.server.profile.BuiltInQualityProfilesDefinition.Context;
26  import org.sonar.api.server.rule.RulesDefinitionXmlLoader;
27  
28  /**
29   * The Class CloudformationQualityProfileTest.
30   */
31  public class CloudformationQualityProfileTest extends Assert {
32  
33  	/**
34  	 * Define test.
35  	 */
36  	@Test
37  	public void defineTest() {
38  		final Context context = new Context();
39  		final org.sonar.api.server.rule.RulesDefinition.Context context2 = new org.sonar.api.server.rule.RulesDefinition.Context();
40  		final CloudformationRulesDefinition cloudformationRulesDefinition = new CloudformationRulesDefinition( new RulesDefinitionXmlLoader());
41  		cloudformationRulesDefinition.define(context2);
42  		new CloudformationQualityProfile(cloudformationRulesDefinition).define(context);
43  
44  
45  		{
46  		final BuiltInQualityProfile qualityProfile = context.profile("cloudformation","Cloudformation(cfn-nag,checkov) Rules");
47  		assertNotNull(qualityProfile);
48  		assertFalse(qualityProfile.isDefault());
49  		assertEquals(284,qualityProfile.rules().size());
50  		}
51  		{
52  		final BuiltInQualityProfile qualityProfile = context.profile("terraform","Terraform(checkov) Rules");
53  		assertNotNull(qualityProfile);
54  		assertFalse(qualityProfile.isDefault());
55  		assertEquals(809,qualityProfile.rules().size());
56  		}
57  
58  	}
59  
60  }