Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Open Subsurface Data Universe Software
Platform
System
Notification
Commits
2f877c80
Commit
2f877c80
authored
Oct 06, 2021
by
Alok Joshi
Browse files
Merge branch 'azure_subscription_client' into 'master'
Use Azure factory for subscription client See merge request
!108
parents
b4a1fa79
f8d47221
Pipeline
#70425
failed with stages
in 23 minutes and 58 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/di/SubscriptionAPIConfigBean.java
0 → 100644
View file @
2f877c80
package
org.opengroup.osdu.notification.provider.azure.di
;
import
lombok.Data
;
import
org.opengroup.osdu.core.common.notification.SubscriptionAPIConfig
;
import
org.opengroup.osdu.notification.provider.interfaces.IAppProperties
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.AbstractFactoryBean
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
@Data
@Component
@ConfigurationProperties
public
class
SubscriptionAPIConfigBean
extends
AbstractFactoryBean
<
SubscriptionAPIConfig
>
{
@Autowired
private
IAppProperties
config
;
private
String
apiKey
;
@Override
public
Class
<?>
getObjectType
()
{
return
SubscriptionAPIConfig
.
class
;
}
@Override
protected
SubscriptionAPIConfig
createInstance
()
throws
Exception
{
return
SubscriptionAPIConfig
.
builder
()
.
rootUrl
(
config
.
getRegisterAPI
())
.
apiKey
(
apiKey
)
.
build
();
}
}
provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/di/SubscriptionFactoryAzure.java
0 → 100644
View file @
2f877c80
// Copyright © Microsoft Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
org.opengroup.osdu.notification.provider.azure.di
;
import
org.opengroup.osdu.core.common.http.IHttpClient
;
import
org.opengroup.osdu.core.common.model.http.DpsHeaders
;
import
org.opengroup.osdu.core.common.notification.ISubscriptionFactory
;
import
org.opengroup.osdu.core.common.notification.ISubscriptionService
;
import
org.opengroup.osdu.core.common.notification.SubscriptionAPIConfig
;
import
org.opengroup.osdu.core.common.notification.SubscriptionService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Component
;
import
java.util.Objects
;
@Component
@Primary
public
class
SubscriptionFactoryAzure
implements
ISubscriptionFactory
{
private
final
SubscriptionAPIConfig
config
;
private
final
IHttpClient
client
;
@Autowired
public
SubscriptionFactoryAzure
(
final
SubscriptionAPIConfig
subscriptionConfig
,
final
IHttpClient
httpClient
)
{
Objects
.
requireNonNull
(
subscriptionConfig
,
"SubscriptionAPIConfig cannot be null"
);
this
.
config
=
subscriptionConfig
;
this
.
client
=
httpClient
;
}
@Override
public
ISubscriptionService
create
(
final
DpsHeaders
dpsHeaders
)
{
Objects
.
requireNonNull
(
dpsHeaders
,
"headers cannot be null"
);
return
new
SubscriptionService
(
this
.
config
,
this
.
client
,
dpsHeaders
);
}
}
provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/SubscriptionFactoryAzureTest.java
0 → 100644
View file @
2f877c80
package
org.opengroup.osdu.notification.di
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.opengroup.osdu.core.common.model.http.DpsHeaders
;
import
org.opengroup.osdu.core.common.notification.ISubscriptionService
;
import
org.opengroup.osdu.core.common.notification.SubscriptionAPIConfig
;
import
org.opengroup.osdu.notification.provider.azure.di.SubscriptionFactoryAzure
;
public
class
SubscriptionFactoryAzureTest
{
@Test
public
void
constructor_should_work_when_config_is_not_null
()
{
SubscriptionAPIConfig
subscriptionAPIConfig
=
SubscriptionAPIConfig
.
builder
().
build
();
subscriptionAPIConfig
.
setApiKey
(
"apiKey"
);
subscriptionAPIConfig
.
setRootUrl
(
"rootUrl"
);
SubscriptionFactoryAzure
subscriptionFactoryAzure
=
new
SubscriptionFactoryAzure
(
subscriptionAPIConfig
,
null
);
Assert
.
assertNotNull
(
subscriptionFactoryAzure
);
}
@Test
(
expected
=
NullPointerException
.
class
)
public
void
constructor_should_throw_npe_if_config_is_null
()
{
SubscriptionFactoryAzure
subscriptionFactoryAzure
=
new
SubscriptionFactoryAzure
(
null
,
null
);
}
@Test
public
void
create_subscriptionService_instance_dpsHeaders_is_not_null
()
{
DpsHeaders
dpsHeaders
=
new
DpsHeaders
();
SubscriptionAPIConfig
subscriptionAPIConfig
=
SubscriptionAPIConfig
.
builder
().
build
();
subscriptionAPIConfig
.
setApiKey
(
"apiKey"
);
subscriptionAPIConfig
.
setRootUrl
(
"rootUrl"
);
SubscriptionFactoryAzure
subscriptionFactoryAzure
=
new
SubscriptionFactoryAzure
(
subscriptionAPIConfig
,
null
);
ISubscriptionService
subscriptionService
=
subscriptionFactoryAzure
.
create
(
dpsHeaders
);
Assert
.
assertNotNull
(
subscriptionService
);
}
@Test
(
expected
=
NullPointerException
.
class
)
public
void
create_subscriptionService_should_throw_npe_if_headers_is_null
()
{
SubscriptionAPIConfig
subscriptionAPIConfig
=
SubscriptionAPIConfig
.
builder
().
build
();
subscriptionAPIConfig
.
setApiKey
(
"apiKey"
);
subscriptionAPIConfig
.
setRootUrl
(
"rootUrl"
);
SubscriptionFactoryAzure
subscriptionFactoryAzure
=
new
SubscriptionFactoryAzure
(
subscriptionAPIConfig
,
null
);
ISubscriptionService
subscriptionService
=
subscriptionFactoryAzure
.
create
(
null
);
}
}
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment