wisedog/ladybug

View on GitHub

Showing 112 of 112 total issues

Function createDummy has 285 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func createDummy() {
 
// drop all table while on development phase
Database.DropTable(&models.User{})
Database.DropTable(&models.Project{})
Severity: Major
Found in database/gorm.go - About 1 day to fix

    Function SectionDelete has 138 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func SectionDelete(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
    // get "section_id" from post form
    if err := r.ParseForm(); err != nil {
    return logAndRenderJSONWithStatus(w, Resp{Msg: "Parse form is not valid"}, http.StatusBadRequest,
    logTypeErr, "Section", "app", err.Error())
    Severity: Major
    Found in controllers/sections.go - About 4 hrs to fix

      Function SectionDelete has a Cognitive Complexity of 37 (exceeds 20 allowed). Consider refactoring.
      Open

      func SectionDelete(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
      // get "section_id" from post form
      if err := r.ParseForm(); err != nil {
      return logAndRenderJSONWithStatus(w, Resp{Msg: "Parse form is not valid"}, http.StatusBadRequest,
      logTypeErr, "Section", "app", err.Error())
      Severity: Minor
      Found in controllers/sections.go - About 3 hrs to fix

      Function main has 101 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func main() {
       
      log.Info("App initialize...")
       
      // create router with gorilla/mux
      Severity: Major
      Found in main.go - About 3 hrs to fix

        Method Jenkins.AddJenkinsBuilds has 99 lines of code (exceeds 50 allowed). Consider refactoring.
        Open

        func (j Jenkins) AddJenkinsBuilds(url string, projectID int, db *gorm.DB) error {
        if db == nil {
        return errors.New("Wrong database handler!")
        }
         
         
        Severity: Major
        Found in controllers/buildtools/jenkins.go - About 2 hrs to fix

          Function findDiff has 90 lines of code (exceeds 50 allowed). Consider refactoring.
          Open

          func findDiff(c *interfacer.AppContext, existCase, newCase *models.TestCase, note string, user *models.User) {
           
          var changes []models.HistoryTestCaseUnit
          his := models.History{Category: models.HISTORY_TYPE_TC,
          TargetID: existCase.ID, UserID: user.ID,
          Severity: Major
          Found in controllers/testcases.go - About 2 hrs to fix

            Function Dashboard has 84 lines of code (exceeds 50 allowed). Consider refactoring.
            Open

            func Dashboard(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
             
            var prj models.Project
            err := c.Db.Where("name = ?", c.ProjectName).First(&prj)
             
             
            Severity: Major
            Found in controllers/projects.go - About 2 hrs to fix

              Function getPeriodReqTestCaseCoverage has a Cognitive Complexity of 32 (exceeds 20 allowed). Consider refactoring.
              Open

              func getPeriodReqTestCaseCoverage(c *interfacer.AppContext, projectID, currentCov int) (string, error) {
              // req-testcase coverage is calculated by dealing with TcReqRelationHistory, Requirement table
              // This is pretty complex, if you have good idea to solve it : VERY WELCOME : )
               
              // first get all requirements in this project
              Severity: Minor
              Found in controllers/projects.go - About 2 hrs to fix

              Function ExecUpdateResult has 79 lines of code (exceeds 50 allowed). Consider refactoring.
              Open

              func ExecUpdateResult(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
              var rv models.TestCaseResult
               
              if err := r.ParseForm(); err != nil {
              log.Error("TestExec", "type", "http", "msg ", err)
              Severity: Major
              Found in controllers/testexecs.go - About 2 hrs to fix

                Method Travis.AddTravisBuilds has 73 lines of code (exceeds 50 allowed). Consider refactoring.
                Open

                func (t Travis) AddTravisBuilds(url string, projectID int, db *gorm.DB) error {
                 
                repo, u, err := t.ConnectionTest(url)
                if err != nil {
                return errors.New("Fail to get Travis repo information")
                Severity: Minor
                Found in controllers/buildtools/travis.go - About 1 hr to fix

                  Function addEditRequirement has a Cognitive Complexity of 30 (exceeds 20 allowed). Consider refactoring.
                  Open

                  func addEditRequirement(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request, isEdit bool) error {
                  var errorMap map[string]string
                  var req models.Requirement
                   
                  session, e := c.Store.Get(r, "ladybug")
                  Severity: Minor
                  Found in controllers/requirements.go - About 1 hr to fix

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  func connected2(c *interfacer.AppContext, r *http.Request) *models.User {
                  session, err := c.Store.Get(r, "ladybug")
                  if err != nil {
                  log.Warn("An error in connected(),", "msg", err)
                  return nil
                  Severity: Major
                  Found in main.go and 1 other location - About 1 hr to fix
                  controllers/app.go on lines 61..77

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                  func connected(c *interfacer.AppContext, r *http.Request) *models.User {
                  session, err := c.Store.Get(r, "ladybug")
                  if err != nil {
                  log.Warn("An error in connected(),", "msg", err)
                  return nil
                  Severity: Major
                  Found in controllers/app.go and 1 other location - About 1 hr to fix
                  main.go on lines 26..42

                  Function addEditRequirement has 71 lines of code (exceeds 50 allowed). Consider refactoring.
                  Open

                  func addEditRequirement(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request, isEdit bool) error {
                  var errorMap map[string]string
                  var req models.Requirement
                   
                  session, e := c.Store.Get(r, "ladybug")
                  Severity: Minor
                  Found in controllers/requirements.go - About 1 hr to fix

                    Similar blocks of code found in 2 locations. Consider refactoring.
                    Open

                    func MilestoneIndex(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
                    var milestones []models.Milestone
                     
                    if err := c.Db.Find(&milestones); err.Error != nil {
                    log.Error("Milestone", "type", "database", "msg ", err.Error)
                    Severity: Major
                    Found in controllers/milestones.go and 1 other location - About 1 hr to fix
                    controllers/testplans.go on lines 18..31

                    Similar blocks of code found in 2 locations. Consider refactoring.
                    Open

                    func PlanIndex(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
                    var plans []models.TestPlan
                     
                    if err := c.Db.Find(&plans); err.Error != nil {
                    log.Error("TestPlan", "type", "database", "msg ", err.Error)
                    Severity: Major
                    Found in controllers/testplans.go and 1 other location - About 1 hr to fix
                    controllers/milestones.go on lines 15..29

                    Similar blocks of code found in 2 locations. Consider refactoring.
                    Open

                    func (milestone *Milestone) Validate() (map[string]string, error) {
                    errorMap := make(map[string]string)
                    if !milestone.Required(milestone.Name) {
                    errorMap["Name"] = "Name is required."
                    }
                    Severity: Major
                    Found in models/milestone.go and 1 other location - About 1 hr to fix
                    models/requirement.go on lines 57..72

                    Similar blocks of code found in 2 locations. Consider refactoring.
                    Open

                    func (req *Requirement) Validate() (map[string]string, error) {
                    errorMap := make(map[string]string)
                    if !req.Required(req.Title) {
                    errorMap["Title"] = "Title is required."
                    }
                    Severity: Major
                    Found in models/requirement.go and 1 other location - About 1 hr to fix
                    models/milestone.go on lines 29..44

                    Function handleSaveUpdate has 59 lines of code (exceeds 50 allowed). Consider refactoring.
                    Open

                    func handleSaveUpdate(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request, isUpdate bool) error {
                     
                    var testcase models.TestCase
                    vars := mux.Vars(r)
                    projectName := vars["projectName"]
                    Severity: Minor
                    Found in controllers/testcases.go - About 1 hr to fix

                      Function ProjectSave has 57 lines of code (exceeds 50 allowed). Consider refactoring.
                      Open

                      func ProjectSave(c *interfacer.AppContext, w http.ResponseWriter, r *http.Request) error {
                       
                      if err := r.ParseForm(); err != nil {
                      log.Error("Projects", "type", "http", "msg ", err)
                      }
                      Severity: Minor
                      Found in controllers/projects.go - About 1 hr to fix
                        Severity
                        Category
                        Status
                        Source
                        Language