Exemplo n.º 1
0
 public void When_NullNetworkBridge_Then_ArgumentNullException()
 {
     Assert.ThrowsException <ArgumentNullException>(() =>
     {
         new OpenTsdbManager(TsdbOptions.New("http://localhost"), null);
     });
 }
Exemplo n.º 2
0
 public void CreateNamedInstance_InvalidName_ArgumentException(string nameInput)
 {
     Assert.ThrowsException <ArgumentException>(() =>
     {
         OpenTsdbFactory.Instance(TsdbOptions.New("http://localhost"), nameInput);
     });
 }
Exemplo n.º 3
0
        public void CreateNamedInstance_DuplicateName_SameInstanceReturned()
        {
            var originalInstance = OpenTsdbFactory.Instance(TsdbOptions.New("http://localhost"), "test");

            var secondInstance = OpenTsdbFactory.Instance(TsdbOptions.New("http://localhost"), "test");

            Assert.AreSame(originalInstance, secondInstance);
        }
Exemplo n.º 4
0
        public void SubmitSinglePointData()
        {
            var pushResult = OpenTsdbFactory
                             .Instance(TsdbOptions.New(_openTsdbUrl))
                             .PushAsync("ping", new Random().Next());

            Assert.AreEqual(pushResult.Result.ResponseHttpStatusCode, 204);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Creates or returns an already existing instance of <see cref="IOpenTsdbManager"/>
        /// </summary>
        /// <param name="options">The options needed to initialize a new instance</param>
        /// <param name="instanceName">The name of the instance</param>
        /// <returns>
        ///    If the name is not known then a new instance will be returned. If the name has already an instance created then that instance will be returned
        /// </returns>
        /// <exception cref="ArgumentException">
        ///    If the instance name is null or made up completely of whitespaces
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///    If the options are needed to create a new instance and are found to be null
        /// </exception>
        public static IOpenTsdbManager Instance(TsdbOptions options, string instanceName)
        {
            if (string.IsNullOrWhiteSpace(instanceName))
            {
                throw new ArgumentException(ErrorMessages.NAMED_MANAGER_INSTANCE_NAME_INVALID, nameof(instanceName));
            }

            if (!namedInstances.ContainsKey(instanceName))
            {
                if (options == null)
                {
                    throw new ArgumentNullException(ErrorMessages.MANAGER_OPTIONS_NULL, nameof(options));
                }

                namedInstances[instanceName] = Instance(options);
            }

            return(namedInstances[instanceName]);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Creates a new instance of the <see cref="IOpenTsdbManager"/>
 /// </summary>
 /// <param name="options"></param>
 /// <returns>A new instance of </returns>
 public static IOpenTsdbManager Instance(TsdbOptions options) => new OpenTsdbManager(options, new OpenTsdbIntegration(options.ServerUri));
Exemplo n.º 7
0
        public void IsNamedDefined_ExistingName_True()
        {
            OpenTsdbFactory.Instance(TsdbOptions.New("http://localhost"), "test");

            Assert.IsTrue(OpenTsdbFactory.IsInstanceDefined("test"));
        }
Exemplo n.º 8
0
        public void CreateNamedInstance_ValidOptions_InstanceCreated()
        {
            var manager = OpenTsdbFactory.Instance(TsdbOptions.New("http://localhost"), "test");

            Assert.IsNotNull(manager);
        }
Exemplo n.º 9
0
 public void Setup()
 {
     bridgeMock = new Mock <IOpenTsdbNetworkBridge>();
     manager    = new OpenTsdbManager(TsdbOptions.New("http://localhost"), bridgeMock.Object);
 }
Exemplo n.º 10
0
 public OpenTsdbManager(TsdbOptions options, IOpenTsdbNetworkBridge server)
 {
     Options    = options ?? throw new ArgumentNullException(ErrorMessages.MANAGER_OPTIONS_NULL, nameof(options));
     TsdbServer = server ?? throw new ArgumentNullException(ErrorMessages.NETWORK_BRIDGE_NULL, nameof(server));
 }