"finance-group: invoice:*, payment:*\n" + "ops-group: *:*"); final ConfigSource customConfigSource = new SimplePropertyConfigSource(props); final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class); final KillBillJndiLdapRealm ldapRealm = new KillBillJndiLdapRealm(securityConfig);
@Test(groups = "external", enabled = false) public void testCheckOktaConnection() throws Exception { // Convenience method to verify your Okta connectivity final Properties props = new Properties(); props.setProperty("org.killbill.security.okta.url", "https://dev-XXXXXX.oktapreview.com"); props.setProperty("org.killbill.security.okta.apiToken", "YYYYYY"); props.setProperty("org.killbill.security.okta.permissionsByGroup", "support-group: entitlement:*\n" + "finance-group: invoice:*, payment:*\n" + "ops-group: *:*"); final ConfigSource customConfigSource = new SimplePropertyConfigSource(props); final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class); final KillBillOktaRealm oktaRealm = new KillBillOktaRealm(securityConfig); final String username = "pierre"; final String password = "password"; // Check authentication final UsernamePasswordToken token = new UsernamePasswordToken(username, password); final AuthenticationInfo authenticationInfo = oktaRealm.getAuthenticationInfo(token); System.out.println(authenticationInfo); // Check permissions final SimplePrincipalCollection principals = new SimplePrincipalCollection(username, username); final AuthorizationInfo authorizationInfo = oktaRealm.doGetAuthorizationInfo(principals); System.out.println("Roles: " + authorizationInfo.getRoles()); System.out.println("Permissions: " + authorizationInfo.getStringPermissions()); } }
public ConfigurationObjectFactory(Properties props) { this(new SimplePropertyConfigSource(props)); }
public ConfigurationObjectFactory(Properties props) { this(new SimplePropertyConfigSource(props)); }
public MeterModule() { this(new SimplePropertyConfigSource(System.getProperties())); }
public SecurityModule() { this(new SimplePropertyConfigSource(System.getProperties())); }
public DefaultNotificationQueueService(final DataSource dataSource, final Properties properties) { this(InTransaction.buildDDBI(dataSource), new DefaultClock(), new ConfigurationObjectFactory(new SimplePropertyConfigSource(properties)).buildWithReplacements(NotificationQueueConfig.class, ImmutableMap.<String, String>of("instanceName", "main")), new MetricRegistry()); }
public Migratory(final Properties properties) throws MigratoryException { final ConfigurationObjectFactory factory = new ConfigurationObjectFactory(new SimplePropertyConfigSource(properties)); this.migratoryConfig = factory.build(MigratoryConfig.class); this.dbi = new MigratoryDBI(createDBI(factory.buildWithReplacements(MigratoryDBIConfig.class, ImmutableMap.of("_migratory", "migratory.")))); this.rootDbi = this.dbi; }
@Test public void testConfigMagicValues() { final Properties props = new Properties(); props.put("ness.tracking.forceNewToken", "true"); props.put("ness.tracking.createNewToken", "false"); props.put("ness.tracking.http-tracking-debug.enabled", "false"); final ConfigurationObjectFactory factory = new ConfigurationObjectFactory(new SimplePropertyConfigSource(props)); final TrackingConfig config = factory.build(TrackingConfig.class); Assert.assertTrue(config.isForceNewToken()); Assert.assertFalse(config.isCreateNewToken()); Assert.assertFalse(config.isTrackingEnabled()); } }
"finance-group: invoice:*, payment:*\n" + "ops-group: *:*"); final ConfigSource customConfigSource = new SimplePropertyConfigSource(props); final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class); final KillBillJndiLdapRealm ldapRealm = new KillBillJndiLdapRealm(securityConfig);
"finance-group: invoice:*, payment:*\n" + "ops-group: *:*"); final ConfigSource customConfigSource = new SimplePropertyConfigSource(props); final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class); final KillBillJndiLdapRealm ldapRealm = new KillBillJndiLdapRealm(securityConfig);
@Test(groups = "external", enabled = false) public void testCheckOktaConnection() throws Exception { // Convenience method to verify your Okta connectivity final Properties props = new Properties(); props.setProperty("org.killbill.security.okta.url", "https://dev-XXXXXX.oktapreview.com"); props.setProperty("org.killbill.security.okta.apiToken", "YYYYYY"); props.setProperty("org.killbill.security.okta.permissionsByGroup", "support-group: entitlement:*\n" + "finance-group: invoice:*, payment:*\n" + "ops-group: *:*"); final ConfigSource customConfigSource = new SimplePropertyConfigSource(props); final SecurityConfig securityConfig = new ConfigurationObjectFactory(customConfigSource).build(SecurityConfig.class); final KillBillOktaRealm oktaRealm = new KillBillOktaRealm(securityConfig); final String username = "pierre"; final String password = "password"; // Check authentication final UsernamePasswordToken token = new UsernamePasswordToken(username, password); final AuthenticationInfo authenticationInfo = oktaRealm.getAuthenticationInfo(token); System.out.println(authenticationInfo); // Check permissions final SimplePrincipalCollection principals = new SimplePrincipalCollection(username, username); final AuthorizationInfo authorizationInfo = oktaRealm.doGetAuthorizationInfo(principals); System.out.println("Roles: " + authorizationInfo.getRoles()); System.out.println("Permissions: " + authorizationInfo.getStringPermissions()); } }
@Test public void testConfigMagicDefault() { final Properties props = new Properties(); final ConfigurationObjectFactory factory = new ConfigurationObjectFactory(new SimplePropertyConfigSource(props)); final TrackingConfig config = factory.build(TrackingConfig.class); Assert.assertFalse(config.isForceNewToken()); Assert.assertTrue(config.isCreateNewToken()); Assert.assertTrue(config.isTrackingEnabled()); }
dbi.setTransactionHandler(new NotificationTransactionHandler(databaseTransactionNotificationApi)); final ConfigSource configSource = new SimplePropertyConfigSource(System.getProperties()); persistentBusConfig = new ConfigurationObjectFactory(configSource).buildWithReplacements(PersistentBusConfig.class, ImmutableMap.<String, String>of("instanceName", "main"));
@BeforeClass(groups = "slow") public void beforeClass() throws Exception { loadSystemPropertiesFromClasspath("/queue.properties"); clock = new ClockMock(); embeddedDB = new MySQLEmbeddedDB("killbillq", "killbillq", "killbillq"); embeddedDB.initialize(); embeddedDB.start(); final String ddl = toString(Resources.getResource("com/ning/billing/queue/ddl.sql").openStream()); embeddedDB.executeScript(ddl); dbi = new DBI(embeddedDB.getDataSource()); dbi.registerArgumentFactory(new UUIDArgumentFactory()); dbi.registerArgumentFactory(new DateTimeZoneArgumentFactory()); dbi.registerArgumentFactory(new DateTimeArgumentFactory()); dbi.registerArgumentFactory(new LocalDateArgumentFactory()); dbi.registerArgumentFactory(new EnumArgumentFactory()); dbi.registerMapper(new UUIDMapper()); final ConfigSource configSource = new SimplePropertyConfigSource(System.getProperties()); persistentBusConfig = new ConfigurationObjectFactory(configSource).buildWithReplacements(PersistentBusConfig.class, ImmutableMap.<String, String>of("instanceName", "main")); notificationQueueConfig = new ConfigurationObjectFactory(configSource).buildWithReplacements(NotificationQueueConfig.class, ImmutableMap.<String, String>of("instanceName", "main")); }