cloudfoundry-incubator/stratos

View on GitHub

Showing 650 of 1,370 total issues

Avoid deeply nested control flow statements.
Open

        if (itemFormat) {
          arrayItem.format = itemFormat;
        }

    Function setErrorMessage has a Cognitive Complexity of 11 (exceeds 8 allowed). Consider refactoring.
    Open

      private setErrorMessage(auth: AuthState) {
        // Default error message
        this.message = `Couldn't log in, please try again.`;
        if (auth.error && auth.errorResponse) {
          if (auth.errorResponse === 'Invalid session') {

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method Monocular.cacheChartFromURL has 6 return statements (exceeds 4 allowed).
    Open

    func (m *Monocular) cacheChartFromURL(chartCachePath, digest, name, chartURL string) error {
        // Check to see if we have the same digest
        if ok := hasDigestFile(chartCachePath, digest); ok {
            log.Debug("Skipping download - already have archive with the same digest")
            return nil
    Severity: Major
    Found in src/jetstream/plugins/monocular/cache.go - About 40 mins to fix

      Function NewKubeTerminal has 6 return statements (exceeds 4 allowed).
      Open

      func NewKubeTerminal(p interfaces.PortalProxy) *KubeTerminal {
          // Only enabled in tech preview
          if !p.GetConfig().EnableTechPreview {
              log.Info("Kube Terminal not enabled - requires tech preview")
              return nil
      Severity: Major
      Found in src/jetstream/plugins/kubernetes/terminal/terminal.go - About 40 mins to fix

        Method CFPushApp.Init has 6 return statements (exceeds 4 allowed).
        Open

        func (c *CFPushApp) Init(appDir string, manifestPath string, overrides CFPushAppOverrides) error {
        
            // App name
            if len(overrides.Name) > 0 {
                c.pushCommand.OptionalArgs = flag.OptionalAppName{
        Severity: Major
        Found in src/jetstream/plugins/cfapppush/pushapp.go - About 40 mins to fix

          Function extractArchiveFiles has 6 return statements (exceeds 4 allowed).
          Open

          func extractArchiveFiles(archivePath, chartName, downloadFolder string, filenames []string) error {
              // Map the filenames array into a map of path to destination file
              requiredFiles := make(map[string]string)
              requiredCount := len(filenames)
              for _, name := range filenames {
          Severity: Major
          Found in src/jetstream/plugins/monocular/cache.go - About 40 mins to fix

            Method UserInfo.updateUserPassword has 6 return statements (exceeds 4 allowed).
            Open

            func (userInfo *UserInfo) updateUserPassword(c echo.Context) error {
                id, err := userInfo.preFlightChecks(c)
                if err != nil {
                    return err
                }
            Severity: Major
            Found in src/jetstream/plugins/userinfo/main.go - About 40 mins to fix

              Method KubeConfigAuth.FetchToken has 6 return statements (exceeds 4 allowed).
              Open

              func (c *KubeConfigAuth) FetchToken(cnsiRecord interfaces.CNSIRecord, ec echo.Context) (*interfaces.TokenRecord, *interfaces.CNSIRecord, error) {
                  log.Debug("FetchToken (KubeConfigAuth)")
              
                  req := ec.Request()
              
              
              Severity: Major
              Found in src/jetstream/plugins/kubernetes/auth/kubeconfig.go - About 40 mins to fix

                Function detectTLSCert has 6 return statements (exceeds 4 allowed).
                Open

                func detectTLSCert(pc interfaces.PortalConfig) (string, string, error) {
                    log.Debug("detectTLSCert")
                    certFilename := "pproxy.crt"
                    certKeyFilename := "pproxy.key"
                
                
                Severity: Major
                Found in src/jetstream/main.go - About 40 mins to fix

                  Method cnsiTokenBackup.BackupEndpoints has 6 return statements (exceeds 4 allowed).
                  Open

                  func (ctb *cnsiTokenBackup) BackupEndpoints(c echo.Context) error {
                      log.Debug("BackupEndpoints")
                  
                      // Create the backup request struct from the body
                      body, err := ioutil.ReadAll(c.Request().Body)
                  Severity: Major
                  Found in src/jetstream/plugins/backup/backup_restore.go - About 40 mins to fix

                    Method CertKubeAuth.DoFlowRequest has 6 return statements (exceeds 4 allowed).
                    Open

                    func (c *CertKubeAuth) DoFlowRequest(cnsiRequest *interfaces.CNSIRequest, req *http.Request) (*http.Response, error) {
                        log.Debug("doCertAuthFlowRequest")
                    
                        authHandler := func(tokenRec interfaces.TokenRecord, cnsi interfaces.CNSIRecord) (*http.Response, error) {
                    
                    
                    Severity: Major
                    Found in src/jetstream/plugins/kubernetes/auth/cert.go - About 40 mins to fix

                      Method UserInfo.updateUserInfo has 6 return statements (exceeds 4 allowed).
                      Open

                      func (userInfo *UserInfo) updateUserInfo(c echo.Context) error {
                          _, err := userInfo.preFlightChecks(c)
                          if err != nil {
                              return err
                          }
                      Severity: Major
                      Found in src/jetstream/plugins/userinfo/main.go - About 40 mins to fix

                        Method Analysis.getLatestReport has 6 return statements (exceeds 4 allowed).
                        Open

                        func (c *Analysis) getLatestReport(ec echo.Context) error {
                            log.Debug("getLatestReport")
                            var p = c.portalProxy
                        
                            // Need to get a config object for the target endpoint
                        Severity: Major
                        Found in src/jetstream/plugins/analysis/list.go - About 40 mins to fix

                          Method CloudFoundrySpecification.openNoaaConsumer has 6 return statements (exceeds 4 allowed).
                          Open

                          func (c CloudFoundrySpecification) openNoaaConsumer(echoContext echo.Context) (*AuthorizedConsumer, error) {
                          
                              ac := &AuthorizedConsumer{}
                          
                              // Get the CNSI and app IDs from route parameters
                          Severity: Major
                          Found in src/jetstream/plugins/cloudfoundry/cf_websocket_streams.go - About 40 mins to fix

                            Method PostgresCNSIRepository.List has 6 return statements (exceeds 4 allowed).
                            Open

                            func (p *PostgresCNSIRepository) List(encryptionKey []byte) ([]*interfaces.CNSIRecord, error) {
                                log.Debug("List")
                                rows, err := p.db.Query(listCNSIs)
                                if err != nil {
                                    return nil, fmt.Errorf("Unable to retrieve CNSI records: %v", err)
                            Severity: Major
                            Found in src/jetstream/repository/cnsis/pgsql_cnsis.go - About 40 mins to fix

                              Method PostgresCNSIRepository.Update has 6 return statements (exceeds 4 allowed).
                              Open

                              func (p *PostgresCNSIRepository) Update(endpoint interfaces.CNSIRecord, encryptionKey []byte) error {
                                  log.Debug("Update endpoint")
                              
                                  if endpoint.GUID == "" {
                                      msg := "Unable to update Endpoint without a valid guid."
                              Severity: Major
                              Found in src/jetstream/repository/cnsis/pgsql_cnsis.go - About 40 mins to fix

                                Function ApplyMigrations has 6 return statements (exceeds 4 allowed).
                                Open

                                func ApplyMigrations(conf *goose.DBConf, db *sql.DB) error {
                                    current, err := goose.EnsureDBVersion(conf, db)
                                    if err != nil {
                                        return fmt.Errorf("Failed to get database version: %s", err.Error())
                                    }
                                Severity: Major
                                Found in src/jetstream/datastore/datastore_migrator.go - About 40 mins to fix

                                  Method CloudFoundrySpecification.cfLoginHook has 6 return statements (exceeds 4 allowed).
                                  Open

                                  func (c *CloudFoundrySpecification) cfLoginHook(context echo.Context) error {
                                  
                                      cfAPI, cfCnsi, err := c.fetchAutoRegisterEndpoint()
                                      // CF auto reg url missing, continue as normal
                                      if cfAPI == "" {
                                  Severity: Major
                                  Found in src/jetstream/plugins/cloudfoundry/main.go - About 40 mins to fix

                                    Function getKubeDashboardSecretToken has 6 return statements (exceeds 4 allowed).
                                    Open

                                    func getKubeDashboardSecretToken(p interfaces.PortalProxy, cnsiGUID, userGUID string, sa *v1.ServiceAccount) (string, error) {
                                        log.Debug("getKubeDashboardSecretToken request")
                                    
                                        namespace := sa.Namespace
                                    
                                    
                                    Severity: Major
                                    Found in src/jetstream/plugins/kubernetes/dashboard/common.go - About 40 mins to fix

                                      Method portalProxy.setupSaveConfig has 6 return statements (exceeds 4 allowed).
                                      Open

                                      func (p *portalProxy) setupSaveConfig(c echo.Context) error {
                                      
                                          log.Debug("setupSaveConfig")
                                      
                                          consoleRepo, err := console_config.NewPostgresConsoleConfigRepository(p.DatabaseConnectionPool)
                                      Severity: Major
                                      Found in src/jetstream/setup_console.go - About 40 mins to fix
                                        Severity
                                        Category
                                        Status
                                        Source
                                        Language