BaseCmd { public String getActualCommandName() { String cmdName = null; if (this.getClass().getAnnotation(APICommand.class) != null) { cmdName = this.getClass().getAnnotation(APICommand.class).name(); } else { cmdName = this.getClass().getName(); } return cmdName; }  abstract void execute(); void configure(); HTTPMethod getHttpMethod(); void setHttpMethod(final String method); String getResponseType(); void setResponseType(final String responseType); abstract String getCommandName(); String getActualCommandName(); abstract long getEntityOwnerId(); Object getResponseObject(); void setResponseObject(final Object responseObject); static String getDateString(final Date date); List<Field> getParamFields(); void setFullUrlParams(final Map<String, String> map); Map<String, String> getFullUrlParams(); void validateSpecificParameters(final Map<String, String> params); boolean isDisplay(); static final String RESPONSE_TYPE_XML; static final String RESPONSE_TYPE_JSON; static final String USER_ERROR_MESSAGE; static Pattern newInputDateFormat; @Inject
    public ConfigurationService _configService; @Inject
    public AccountService _accountService; @Inject
    public UserVmService _userVmService; @Inject
    public ManagementService _mgr; @Inject
    public StorageService _storageService; @Inject
    public VolumeApiService _volumeService; @Inject
    public ResourceService _resourceService; @Inject
    public NetworkService _networkService; @Inject
    public TemplateApiService _templateService; @Inject
    public SecurityGroupService _securityGroupService; @Inject
    public SnapshotApiService _snapshotService; @Inject
    public VpcVirtualNetworkApplianceService _routerService; @Inject
    public ResponseGenerator _responseGenerator; @Inject
    public EntityManager _entityMgr; @Inject
    public RulesService _rulesService; @Inject
    public AutoScaleService _autoScaleService; @Inject
    public LoadBalancingRulesService _lbService; @Inject
    public RemoteAccessVpnService _ravService; @Inject
    public ProjectService _projectService; @Inject
    public FirewallService _firewallService; @Inject
    public DomainService _domainService; @Inject
    public ResourceLimitService _resourceLimitService; @Inject
    public StorageNetworkService _storageNetworkService; @Inject
    public TaggedResourceService _taggedResourceService; @Inject
    public ResourceMetaDataService _resourceMetaDataService; @Inject
    public VpcService _vpcService; @Inject
    public NetworkACLService _networkACLService; @Inject
    public Site2SiteVpnService _s2sVpnService; @Inject
    public QueryService _queryService; @Inject
    public UsageService _usageService; @Inject
    public NetworkUsageService _networkUsageService; @Inject
    public VMSnapshotService _vmSnapshotService; @Inject
    public DataStoreProviderApiService dataStoreProviderApiService; @Inject
    public VpcProvisioningService _vpcProvSvc; @Inject
    public ApplicationLoadBalancerService _newLbSvc; @Inject
    public ApplicationLoadBalancerService _appLbService; @Inject
    public AffinityGroupService _affinityGroupService; @Inject
    public InternalLoadBalancerElementService _internalLbElementSvc; @Inject
    public InternalLoadBalancerVMService _internalLbSvc; @Inject
    public NetworkModel _ntwkModel; @Inject
    public AlertService _alertSvc; @Inject
    public UUIDManager _uuidMgr; }
@Test public void testGetActualCommandName(){ BaseCmd cmd1 = new Cmd1(); BaseCmd cmd2 = new Cmd2(); assertEquals(NON_EXPECTED_COMMAND_NAME, CMD1_NAME, cmd1.getActualCommandName()); assertEquals(NON_EXPECTED_COMMAND_NAME, CMD2_NAME, cmd2.getActualCommandName()); }