asteris-llc/converge

View on GitHub

Showing 615 of 615 total issues

Method Unarchive.evaluateDuplicates has 7 return statements (exceeds 4 allowed).
Open

func (u *Unarchive) evaluateDuplicates() error {
    // determine which directory has fewer items in order to minimize operations
    dirA := u.destDir.Name()
    dirB := u.fetchDir.Name()
    filesA := u.destContents
Severity: Major
Found in resource/unarchive/unarchive.go - About 45 mins to fix

    Avoid deeply nested control flow statements.
    Open

                        if err != nil {
                            status.RaiseLevel(resource.StatusFatal)
                            status.Output = append(status.Output, fmt.Sprintf("error modifying group %s", g.Name))
                            return status, errors.Wrap(err, "group modify")
                        }
    Severity: Major
    Found in resource/group/group.go - About 45 mins to fix

      Avoid deeply nested control flow statements.
      Open

                          if err != nil {
                              status.RaiseLevel(resource.StatusFatal)
                              status.Output = append(status.Output, fmt.Sprintf("error adding group %s with gid %s", g.Name, g.GID))
                              return status, errors.Wrap(err, "group add")
                          }
      Severity: Major
      Found in resource/group/group.go - About 45 mins to fix

        Method User.DiffMod has 7 return statements (exceeds 4 allowed).
        Open

        func (u *User) DiffMod(status *resource.Status, currUser *user.User) (*ModUserOptions, error) {
            options := new(ModUserOptions)
        
            // Check for differences between currUser and the desired modifications
            if u.NewUsername != "" {
        Severity: Major
        Found in resource/user/user.go - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                              if err != nil {
                                  status.RaiseLevel(resource.StatusFatal)
                                  status.Output = append(status.Output, fmt.Sprintf("error modifying group %s with new gid %s", g.Name, g.GID))
                                  return status, errors.Wrap(err, "group modify")
                              }
          Severity: Major
          Found in resource/group/group.go - About 45 mins to fix

            Function simpleCheckSuccess has 6 arguments (exceeds 4 allowed). Consider refactoring.
            Open

            func simpleCheckSuccess(t *testing.T, lvm lowlevel.LVM, group string, devs []string, remove bool, forceRemove bool) (resource.TaskStatus, resource.Task) {
            Severity: Minor
            Found in resource/lvm/vg/vg_test.go - About 45 mins to fix

              Function simpleCheckFailure has 6 arguments (exceeds 4 allowed). Consider refactoring.
              Open

              func simpleCheckFailure(t *testing.T, lvm lowlevel.LVM, group string, devs []string, remove bool, forceRemove bool) resource.TaskStatus {
              Severity: Minor
              Found in resource/lvm/vg/vg_test.go - About 45 mins to fix

                Method ExportExtractor.Visit has 7 return statements (exceeds 4 allowed).
                Open

                func (e *ExportExtractor) Visit(node ast.Node) (w ast.Visitor) {
                    switch n := node.(type) {
                    case *ast.File, *ast.TypeSpec, *ast.FieldList:
                        return e
                    case *ast.StructType:
                Severity: Major
                Found in docs/extract.go - About 45 mins to fix

                  Function simpleApplyFailure has 6 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                  func simpleApplyFailure(t *testing.T, lvm lowlevel.LVM, group string, devs []string, remove bool, forceRemove bool) resource.TaskStatus {
                  Severity: Minor
                  Found in resource/lvm/vg/vg_test.go - About 45 mins to fix

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

                    func isValidHash(hashType, hash string) bool {
                        switch hashType {
                        case string(HashMD5):
                            return len(hash) == 32
                        case string(HashSHA1):
                    Severity: Minor
                    Found in resource/unarchive/preparer.go and 1 other location - About 45 mins to fix
                    resource/file/fetch/preparer.go on lines 116..129

                    Duplicated Code

                    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                    Tuning

                    This issue has a mass of 115.

                    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                    Refactorings

                    Further Reading

                    Function simpleApplySuccess has 6 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                    func simpleApplySuccess(t *testing.T, lvm lowlevel.LVM, group string, devs []string, remove bool, forceRemove bool) resource.TaskStatus {
                    Severity: Minor
                    Found in resource/lvm/vg/vg_test.go - About 45 mins to fix

                      Method Fetch.applyWithContext has 7 return statements (exceeds 4 allowed).
                      Open

                      func (f *Fetch) applyWithContext(context.Context) (resource.TaskStatus, error) {
                          var (
                              hsh      hash.Hash
                              err      error
                              status   = resource.NewStatus()
                      Severity: Major
                      Found in resource/file/fetch/fetch.go - About 45 mins to fix

                        Function getFailedReason has 7 return statements (exceeds 4 allowed).
                        Open

                        func getFailedReason(u *Unit) (string, error) {
                            err := errors.New("unable to determine cause of failure: no properties available")
                            var reason string
                            switch u.Type {
                            case UnitTypeService:
                        Severity: Major
                        Found in resource/systemd/unit/resource.go - About 45 mins to fix

                          Method Fetch.DiffFile has 7 return statements (exceeds 4 allowed).
                          Open

                          func (f *Fetch) DiffFile(status *resource.Status, hsh hash.Hash) (*resource.Status, error) {
                              // the destination should be a file if fetching without an unarchive
                              // if unarchiving, the destination should be a directory
                              stat, err := os.Stat(f.Destination)
                              if err == nil {
                          Severity: Major
                          Found in resource/file/fetch/fetch.go - About 45 mins to fix

                            Function ResolveDependencies has 7 return statements (exceeds 4 allowed).
                            Open

                            func ResolveDependencies(ctx context.Context, g *graph.Graph) (*graph.Graph, error) {
                                logger := logging.GetLogger(ctx).WithField("function", "ResolveDependencies")
                                logger.Debug("resolving dependencies")
                            
                                groupLock := new(sync.Mutex)
                            Severity: Major
                            Found in load/dependencyresolver.go - About 45 mins to fix

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

                              func isValidHash(hashType, hash string) bool {
                                  switch hashType {
                                  case string(HashMD5):
                                      return len(hash) == 32
                                  case string(HashSHA1):
                              Severity: Minor
                              Found in resource/file/fetch/preparer.go and 1 other location - About 45 mins to fix
                              resource/unarchive/preparer.go on lines 128..141

                              Duplicated Code

                              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                              Tuning

                              This issue has a mass of 115.

                              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                              Refactorings

                              Further Reading

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

                              func (m *mockClient) CreateNetwork(opts dc.CreateNetworkOptions) (*dc.Network, error) {
                                  args := m.Called(opts)
                                  ret := args.Get(0)
                                  if ret == nil {
                                      return nil, args.Error(1)
                              Severity: Minor
                              Found in resource/docker/network/network_test.go and 1 other location - About 45 mins to fix
                              resource/docker/volume/volume_test.go on lines 309..316

                              Duplicated Code

                              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                              Tuning

                              This issue has a mass of 115.

                              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                              Refactorings

                              Further Reading

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

                              func (m *mockClient) CreateVolume(opts dc.CreateVolumeOptions) (*dc.Volume, error) {
                                  args := m.Called(opts)
                                  ret := args.Get(0)
                                  if ret == nil {
                                      return nil, args.Error(1)
                              Severity: Minor
                              Found in resource/docker/volume/volume_test.go and 1 other location - About 45 mins to fix
                              resource/docker/network/network_test.go on lines 526..533

                              Duplicated Code

                              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                              Tuning

                              This issue has a mass of 115.

                              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                              Refactorings

                              Further Reading

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

                                      assert.True(t, strings.Contains(act[0], exp[1]) || strings.Contains(act[1], exp[1]) || strings.Contains(act[2], exp[1]) || strings.Contains(act[3], exp[1]) || strings.Contains(act[4], exp[1]))
                              Severity: Major
                              Found in resource/unarchive/unarchive_test.go and 9 other locations - About 45 mins to fix
                              resource/unarchive/unarchive_test.go on lines 1104..1104
                              resource/unarchive/unarchive_test.go on lines 1105..1105
                              resource/unarchive/unarchive_test.go on lines 1106..1106
                              resource/unarchive/unarchive_test.go on lines 1107..1107
                              resource/unarchive/unarchive_test.go on lines 1108..1108
                              resource/unarchive/unarchive_test.go on lines 1302..1302
                              resource/unarchive/unarchive_test.go on lines 1304..1304
                              resource/unarchive/unarchive_test.go on lines 1305..1305
                              resource/unarchive/unarchive_test.go on lines 1306..1306

                              Duplicated Code

                              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                              Tuning

                              This issue has a mass of 113.

                              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                              Refactorings

                              Further Reading

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

                                      assert.True(t, strings.Contains(act[0], exp[2]) || strings.Contains(act[1], exp[2]) || strings.Contains(act[2], exp[2]) || strings.Contains(act[3], exp[2]) || strings.Contains(act[4], exp[2]))
                              Severity: Major
                              Found in resource/unarchive/unarchive_test.go and 9 other locations - About 45 mins to fix
                              resource/unarchive/unarchive_test.go on lines 1104..1104
                              resource/unarchive/unarchive_test.go on lines 1105..1105
                              resource/unarchive/unarchive_test.go on lines 1106..1106
                              resource/unarchive/unarchive_test.go on lines 1107..1107
                              resource/unarchive/unarchive_test.go on lines 1108..1108
                              resource/unarchive/unarchive_test.go on lines 1302..1302
                              resource/unarchive/unarchive_test.go on lines 1303..1303
                              resource/unarchive/unarchive_test.go on lines 1305..1305
                              resource/unarchive/unarchive_test.go on lines 1306..1306

                              Duplicated Code

                              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                              Tuning

                              This issue has a mass of 113.

                              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                              Refactorings

                              Further Reading

                              Severity
                              Category
                              Status
                              Source
                              Language