@Test
public void testUpdateRoleMemberExpirationNoService() {

    long ext100Millis = TimeUnit.MILLISECONDS.convert(100, TimeUnit.DAYS);
    long ext125Millis = TimeUnit.MILLISECONDS.convert(125, TimeUnit.DAYS);
    List<RoleMember> members = new ArrayList<>();
    members.add(new RoleMember().setMemberName("user.joe").setExpiration(null)
            .setPrincipalType(Principal.Type.USER.getValue()));
    members.add(new RoleMember().setMemberName("user.jane")
            .setExpiration(Timestamp.fromMillis(System.currentTimeMillis() + ext100Millis))
            .setPrincipalType(Principal.Type.USER.getValue()));
    members.add(new RoleMember().setMemberName("athenz.api").setExpiration(null)
            .setPrincipalType(Principal.Type.SERVICE.getValue()));
    members.add(new RoleMember().setMemberName("athenz.backend")
            .setExpiration(Timestamp.fromMillis(System.currentTimeMillis() + ext100Millis))
            .setPrincipalType(Principal.Type.SERVICE.getValue()));
    // for user members we have 50/125 setup while for service members 0
    zms.updateRoleMemberExpiration(
            50,
            125,
            0,
            0,
            0,
            0,
            members);
    Timestamp stamp = members.get(0).getExpiration();
    assertTrue(validateDueDate(stamp.millis(), ext125Millis));
    stamp = members.get(1).getExpiration();
    assertTrue(validateDueDate(stamp.millis(), ext100Millis));
    assertNull(members.get(2).getExpiration());
    stamp = members.get(3).getExpiration();
    assertTrue(validateDueDate(stamp.millis(), ext100Millis));
}