public void GetLabelsNoVersion()
        {
            var labels = DebuggeeUtils.GetLabels(_projectId, _module, null);

            Assert.Equal(2, labels.Count);
            Assert.Equal(_projectId, labels["projectid"]);
            Assert.Equal(_module, labels["module"]);
        }
        public void GetUniquifier()
        {
            var debuggee   = DebuggeeUtils.CreateDebuggee(_projectId, _module, _version, null);
            var uniquifier = DebuggeeUtils.GetUniquifier(debuggee);

            Assert.False(string.IsNullOrWhiteSpace(uniquifier));
            Assert.Equal(DebuggeeUtils.GetUniquifier(debuggee), uniquifier);
        }
        public void GetLabels()
        {
            var labels = DebuggeeUtils.GetLabels(_projectId, _module, _version);

            Assert.Equal(3, labels.Count);
            Assert.Equal(_projectId, labels["projectid"]);
            Assert.Equal(_module, labels["module"]);
            Assert.Equal(_version, labels["version"]);
        }
        public void GetUniquifierNotEqual()
        {
            var debuggee   = DebuggeeUtils.CreateDebuggee(_projectId, _module, _version, null);
            var uniquifier = DebuggeeUtils.GetUniquifier(debuggee);

            var debuggee2   = DebuggeeUtils.CreateDebuggee(_projectId, _module, "1.0.5", null);
            var uniquifier2 = DebuggeeUtils.GetUniquifier(debuggee2);

            Assert.NotEqual(uniquifier2, uniquifier);
        }
        public void GetAgentVersion()
        {
            var platform     = new Platform(new GaePlatformDetails(_projectId, "instance", _module, _version));
            var agentVersion = DebuggeeUtils.GetAgentVersion(platform);

            Assert.Contains("google.com", agentVersion);
            Assert.Contains("csharp", agentVersion);
            Assert.Contains("gae", agentVersion);
            Assert.Contains(DebuggeeUtils.GetVersion(), agentVersion);
        }
        public void CreateDebuggee()
        {
            var debuggee = DebuggeeUtils.CreateDebuggee(_projectId, _module, _version, null);

            Assert.Equal(DebuggeeUtils.GetAgentVersion(Common.Platform), debuggee.AgentVersion);
            Assert.Equal(DebuggeeUtils.GetDescription(_module, _version), debuggee.Description);
            Assert.Equal(_projectId, debuggee.Project);
            Assert.Equal(3, debuggee.Labels.Count);
            Assert.Equal(_projectId, debuggee.Labels["projectid"]);
            Assert.Equal(_module, debuggee.Labels["module"]);
            Assert.Equal(_version, debuggee.Labels["version"]);
            Assert.NotNull(debuggee.SourceContexts);
            Assert.False(string.IsNullOrWhiteSpace(debuggee.Uniquifier));
        }
        public void CreateDebuggee_SourceContext()
        {
            var sourceContext = new SourceContext
            {
                Git = new GitSourceContext
                {
                    Url        = "some-url.com",
                    RevisionId = "rev-id",
                }
            };
            var debuggee = DebuggeeUtils.CreateDebuggee(_projectId, _module, _version, sourceContext);

            Assert.Single(debuggee.SourceContexts);
            Assert.Equal(sourceContext, debuggee.SourceContexts[0]);
        }
        public void GetPlatform()
        {
            var gae = new Platform(new GaePlatformDetails("", "", "", ""));

            Assert.Equal("gae", DebuggeeUtils.GetPlatform(gae));

            var gce = new Platform(new GcePlatformDetails("", "", "", ""));

            Assert.Equal("gce", DebuggeeUtils.GetPlatform(gce));

            var gke = new Platform(new GkePlatformDetails("", "", "", "", ""));

            Assert.Equal("gke", DebuggeeUtils.GetPlatform(gke));

            var unknown = new Platform();

            Assert.Null(DebuggeeUtils.GetPlatform(unknown));
        }
        /// <summary>
        /// Gets a <see cref="Debuggee"/> with a given module and version.
        /// </summary>
        public Debuggee GetDebuggee(string module, string version)
        {
            Predicate <Debuggee> predicate = (debuggee)
                                             => debuggee?.Description == DebuggeeUtils.GetDescription(module, version);

            Func <Debuggee> func = () => {
                ListDebuggeesRequest request = new ListDebuggeesRequest
                {
                    Project = _projectId
                };
                var debuggees = Client.GrpcClient.ListDebuggees(request).Debuggees;
                foreach (var debuggee in debuggees)
                {
                    if (predicate(debuggee))
                    {
                        return(debuggee);
                    }
                }
                return(null);
            };

            return(Poll(func, predicate));
        }
 public void GetDescription()
 {
     Assert.Equal($"{_module} - {_version}", DebuggeeUtils.GetDescription(_module, _version));
     Assert.Equal(_module, DebuggeeUtils.GetDescription(_module, null));
     Assert.Equal(_module, DebuggeeUtils.GetDescription(_module, ""));
 }
 public void GetVersion()
 {
     Assert.False(string.IsNullOrWhiteSpace(DebuggeeUtils.GetVersion()));
 }