Ability to disable sending auth header

- introduced configurable parameter to disable sending auth header in
  the request to dmi-plugin
- default is to include the auth header
- DMI_AUTH_ENABLED flag can be set to true/false to control the
  behaviour
- Also added the env variables to the CSITs
- updated release-notes

Issue-ID: CPS-1819
Change-Id: If97c06e33f06e391d2190b7300d73210ed2f4e27
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/client/DmiRestClientSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/client/DmiRestClientSpec.groovy
index 6b0355e..0d03fd9 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/client/DmiRestClientSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/client/DmiRestClientSpec.groovy
@@ -27,6 +27,7 @@
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
 import org.springframework.http.HttpEntity
+import org.springframework.http.HttpHeaders
 import org.springframework.http.HttpStatus
 import org.springframework.http.ResponseEntity
 import org.springframework.test.context.ContextConfiguration
@@ -50,6 +51,13 @@
     def resourceUrl = 'some url'
 
     def mockResponseEntity = Mock(ResponseEntity)
+    def dmiProperties = new NcmpConfiguration.DmiProperties()
+
+    def setup() {
+        dmiProperties.authUsername = 'test user'
+        dmiProperties.authPassword = 'test pass'
+        dmiProperties.dmiBasePath = 'dmi'
+    }
 
     def 'DMI POST operation with JSON.'() {
         given: 'the rest template returns a valid response entity'
@@ -77,4 +85,16 @@
             operation << [CREATE, READ, PATCH]
     }
 
+    def 'Basic auth header #scenario'() {
+        when: 'Specific dmi properties are provided'
+            dmiProperties.dmiBasicAuthEnabled = authEnabled
+            objectUnderTest.dmiProperties = dmiProperties
+        then: 'http headers to conditionally have Authorization header'
+            assert (objectUnderTest.configureHttpHeaders(new HttpHeaders()).get('Authorization') != null) == isPresentInHttpHeader
+        where: 'the following configurations are used'
+            scenario        | authEnabled || isPresentInHttpHeader
+            'auth enabled'  | true        || true
+            'auth disabled' | false       || false
+    }
+
 }
diff --git a/cps-ncmp-service/src/test/resources/application.yml b/cps-ncmp-service/src/test/resources/application.yml
index 7442670..6e7577b 100644
--- a/cps-ncmp-service/src/test/resources/application.yml
+++ b/cps-ncmp-service/src/test/resources/application.yml
@@ -39,6 +39,7 @@
         auth:
             username: some-user
             password: some-password
+            enabled: true
         api:
             base-path: dmi