Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More pretty comparisons / debugging for tests #2120

Closed
cdrage opened this issue Sep 12, 2019 · 1 comment · Fixed by #2122
Closed

More pretty comparisons / debugging for tests #2120

cdrage opened this issue Sep 12, 2019 · 1 comment · Fixed by #2122
Assignees

Comments

@cdrage
Copy link
Member

cdrage commented Sep 12, 2019

[kind/Feature]

Which functionality do you think we should add?

We should utilize: https://godoc.org/github.com/kylelemons/godebug/pretty#example-Compare--Debugging

in tests in order to "prettify" and make debugging A LOT easier when something fails.

I've been using this periodically when debugging and I believe we should implement this into the integration tests.

Why is this needed?

See below:

--- FAIL: TestListWithDetailedStatus (0.00s)                    
    service_test.go:482:  [                                     
          {                                             
           TypeMeta: {                                  
            Kind: "Service",                            
            APIVersion: "odo.openshift.io/v1alpha1",
           },                                    
           ObjectMeta: {                   
            Name: "mysql-persistent",               
            GenerateName: "",                                                                                                                                                                                                                                                                                                                                               
            Namespace: "",      
            SelfLink: "",                        
            UID: "",                       
            ResourceVersion: "",                    
            Generation: 0,                  
            CreationTimestamp: {
             Time: 0001-01-01 00:00:00 +0000 UTC,
            },                             
            DeletionTimestamp: nil,                 
            DeletionGracePeriodSeconds: nil,
            Labels: {   
            },                                
            Annotations: {                 
            },                                      
            OwnerReferences: [
            ],          
            Initializers: nil,                
            Finalizers: [                  
            ],                                      
            ClusterName: "",
           },           
           Spec: {                            
            Type: "mysql-persistent",      
            Plan: "default",                        
           },            
           Status: {    
        -   Status: "ProvisionedSuccessfully",
        +   Status: "ProvisionedAndLinked",
           },                                    

Vs:

--- FAIL: TestListWithDetailedStatus (0.00s)                                                                                                                                                                                                                                                                                                                                
    service_test.go:481: expected output: []service.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Locati
on)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.Serv
iceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}
, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceSta
tus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp
:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfu
lly"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}},got: []servic
e.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndLinked"}}, service
.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePer
iodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndBound"}}, service.Service{T
ypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil
), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Servic
e", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]
string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}}
@cdrage cdrage self-assigned this Sep 12, 2019
@cdrage
Copy link
Member Author

cdrage commented Sep 12, 2019

I'll take this up as it's pretty straight-forward to implement ^^

cdrage added a commit to cdrage/odo that referenced this issue Sep 12, 2019
Adds the "pretty" library for easier debugging.

See below:

```sh
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:482:  [
          {
           TypeMeta: {
            Kind: "Service",
            APIVersion: "odo.openshift.io/v1alpha1",
           },
           ObjectMeta: {
            Name: "mysql-persistent",
            GenerateName: "",
            Namespace: "",
            SelfLink: "",
            UID: "",
            ResourceVersion: "",
            Generation: 0,
            CreationTimestamp: {
             Time: 0001-01-01 00:00:00 +0000 UTC,
            },
            DeletionTimestamp: nil,
            DeletionGracePeriodSeconds: nil,
            Labels: {
            },
            Annotations: {
            },
            OwnerReferences: [
            ],
            Initializers: nil,
            Finalizers: [
            ],
            ClusterName: "",
           },
           Spec: {
            Type: "mysql-persistent",
            Plan: "default",
           },
           Status: {
        -   Status: "ProvisionedSuccessfully",
        +   Status: "ProvisionedAndLinked",
           },
```

Vs:

```
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:481: expected output: []service.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Locati
on)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.Serv
iceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}
, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceSta
tus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp
:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfu
lly"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}},got: []servic
e.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndLinked"}}, service
.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePer
iodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndBound"}}, service.Service{T
ypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil
), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Servic
e", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]
string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}}
```

Closes: redhat-developer#2120
cdrage added a commit to cdrage/odo that referenced this issue Sep 12, 2019
Adds the "pretty" library for easier debugging.

See below:

```sh
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:482:  [
          {
           TypeMeta: {
            Kind: "Service",
            APIVersion: "odo.openshift.io/v1alpha1",
           },
           ObjectMeta: {
            Name: "mysql-persistent",
            GenerateName: "",
            Namespace: "",
            SelfLink: "",
            UID: "",
            ResourceVersion: "",
            Generation: 0,
            CreationTimestamp: {
             Time: 0001-01-01 00:00:00 +0000 UTC,
            },
            DeletionTimestamp: nil,
            DeletionGracePeriodSeconds: nil,
            Labels: {
            },
            Annotations: {
            },
            OwnerReferences: [
            ],
            Initializers: nil,
            Finalizers: [
            ],
            ClusterName: "",
           },
           Spec: {
            Type: "mysql-persistent",
            Plan: "default",
           },
           Status: {
        -   Status: "ProvisionedSuccessfully",
        +   Status: "ProvisionedAndLinked",
           },
```

Vs:

```
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:481: expected output: []service.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Locati
on)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.Serv
iceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}
, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceSta
tus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp
:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfu
lly"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}},got: []servic
e.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndLinked"}}, service
.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePer
iodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndBound"}}, service.Service{T
ypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil
), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Servic
e", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]
string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}}
```

Closes: redhat-developer#2120
cdrage added a commit to cdrage/odo that referenced this issue Sep 18, 2019
Adds the "pretty" library for easier debugging.

See below:

```sh
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:482:  [
          {
           TypeMeta: {
            Kind: "Service",
            APIVersion: "odo.openshift.io/v1alpha1",
           },
           ObjectMeta: {
            Name: "mysql-persistent",
            GenerateName: "",
            Namespace: "",
            SelfLink: "",
            UID: "",
            ResourceVersion: "",
            Generation: 0,
            CreationTimestamp: {
             Time: 0001-01-01 00:00:00 +0000 UTC,
            },
            DeletionTimestamp: nil,
            DeletionGracePeriodSeconds: nil,
            Labels: {
            },
            Annotations: {
            },
            OwnerReferences: [
            ],
            Initializers: nil,
            Finalizers: [
            ],
            ClusterName: "",
           },
           Spec: {
            Type: "mysql-persistent",
            Plan: "default",
           },
           Status: {
        -   Status: "ProvisionedSuccessfully",
        +   Status: "ProvisionedAndLinked",
           },
```

Vs:

```
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:481: expected output: []service.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Locati
on)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.Serv
iceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}
, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceSta
tus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp
:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfu
lly"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}},got: []servic
e.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndLinked"}}, service
.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePer
iodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndBound"}}, service.Service{T
ypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil
), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Servic
e", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]
string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}}
```

Closes: redhat-developer#2120
openshift-merge-robot pushed a commit that referenced this issue Sep 19, 2019
* Update vendoring

* Add "pretty" library for testing

Adds the "pretty" library for easier debugging.

See below:

```sh
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:482:  [
          {
           TypeMeta: {
            Kind: "Service",
            APIVersion: "odo.openshift.io/v1alpha1",
           },
           ObjectMeta: {
            Name: "mysql-persistent",
            GenerateName: "",
            Namespace: "",
            SelfLink: "",
            UID: "",
            ResourceVersion: "",
            Generation: 0,
            CreationTimestamp: {
             Time: 0001-01-01 00:00:00 +0000 UTC,
            },
            DeletionTimestamp: nil,
            DeletionGracePeriodSeconds: nil,
            Labels: {
            },
            Annotations: {
            },
            OwnerReferences: [
            ],
            Initializers: nil,
            Finalizers: [
            ],
            ClusterName: "",
           },
           Spec: {
            Type: "mysql-persistent",
            Plan: "default",
           },
           Status: {
        -   Status: "ProvisionedSuccessfully",
        +   Status: "ProvisionedAndLinked",
           },
```

Vs:

```
--- FAIL: TestListWithDetailedStatus (0.00s)
    service_test.go:481: expected output: []service.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Locati
on)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.Serv
iceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}
, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceSta
tus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp
:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfu
lly"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}},got: []servic
e.Service{service.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mysql-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), Del
etionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mysql-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndLinked"}}, service
.Service{TypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"postgresql-ephemeral", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePer
iodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"postgresql-ephemeral", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedAndBound"}}, service.Service{T
ypeMeta:v1.TypeMeta{Kind:"Service", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"mongodb", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil
), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"mongodb", Plan:"default"}, Status:service.ServiceStatus{Status:"ProvisionedSuccessfully"}}, service.Service{TypeMeta:v1.TypeMeta{Kind:"Servic
e", APIVersion:"odo.openshift.io/v1alpha1"}, ObjectMeta:v1.ObjectMeta{Name:"jenkins-persistent", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]
string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:service.ServiceSpec{Type:"jenkins-persistent", Plan:"default"}, Status:service.ServiceStatus{Status:"Provisioning"}}}
```

Closes: #2120
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant