e626e1505dc4e44d55e5af14492ee6732cd087af
[cps.git] / cps-ncmp-rest / src / test / groovy / org / onap / cps / ncmp / rest / util / TopicValidatorSpec.groovy
1 /*
2  *  ============LICENSE_START=======================================================
3  *  Copyright (C) 2022 Nordix Foundation
4  *  ================================================================================
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *  SPDX-License-Identifier: Apache-2.0
18  *  ============LICENSE_END=========================================================
19  */
20
21 package org.onap.cps.ncmp.rest.util
22
23 import org.onap.cps.ncmp.rest.exceptions.InvalidTopicException
24 import spock.lang.Specification
25
26 class TopicValidatorSpec extends Specification {
27
28     def 'Valid topic name validation.'() {
29         when: 'a valid topic name is validated'
30             TopicValidator.validateTopicName('my-valid-topic')
31         then: 'no exception is thrown'
32             noExceptionThrown()
33     }
34
35     def 'Validating invalid topic names.'() {
36         when: 'the invalid topic name is validated'
37             TopicValidator.validateTopicName(topicName)
38         then: 'boolean response will be returned for #scenario'
39             thrown(InvalidTopicException)
40         where: 'the following names are used'
41             scenario                  | topicName
42             'empty topic'             | ''
43             'blank topic'             | ' '
44             'invalid non empty topic' | '1_5_*_#'
45     }
46
47 }